私がするとき
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
ダンプされる内容は、ブラウザに表示される内容とは異なります。
最初のコマンドは機能しますが、2番目のコマンドは機能しない理由とそれを機能させる方法は何ですか?
答え1
lynx --dump 'https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob_plain;f=manuf'
この場合、URL;
にはシェルに.セミコロンの個別のコマンドが含まれているため、URLを引用する必要があります。URLが正しく引用されていないと、セミコロンはURLの一部になりません。
実際、セミコロン間のビットは命令として解釈されます。つまり、今やa
という名前のシェル変数があることを意味しますf
。
$ echo "$a"
blob_plain
$ echo "$f"
manuf
URLを引用する必要があるもう1つの理由は、URLにシェルファイル名のワイルドカード文字()が含まれているためです?
。