当我做
lynx --dump http://data.iana.org/TLD/tlds-alpha-by-domain.txt
它输出此网页上的内容,但是当我这样做时
lynx --dump https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob_plain;f=manuf
它转储的内容与浏览器中显示的内容不同。
为什么第一个命令有效但第二个命令不起作用以及如何使其工作?
答案1
lynx --dump 'https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob_plain;f=manuf'
在这种情况下,您需要引用 URL,因为它包含;
.分号在 shell 中分隔命令,如果未正确引用 URL,分号将不会成为 URL 的一部分。
事实上,分号之间的位将被解释为命令,这意味着您现在有名为a
and 的shell 变量f
:
$ echo "$a"
blob_plain
$ echo "$f"
manuf
URL 需要加引号的另一个原因是它包含 shell 文件名通配符:?
。