Bashスクリプトでは、行の先頭にバックティックを使用したときに奇妙な動作を見つけました。
例1:
echo "Test" `ls`
出力:
Test
そして
ls
無視されました。例2:
`test ':";`|)%$kasdj`
これはエラーを返す必要がありますが、そうではなくコメントのように動作します。
答え1
これ
`ls`
最初のスクリプトフラグメントで、コマンドを出力に置き換えてls
実行します。空のディレクトリであれば何も置き換えられず、何も起こりません。
第2の例では、バックティック数は偶数ではなく奇数である。だから構文エラーがあります。