Bashスクリプトで行の先頭にあるバックティックの役割は何ですか?

Bashスクリプトで行の先頭にあるバックティックの役割は何ですか?

Bashスクリプトでは、行の先頭にバックティックを使用したときに奇妙な動作を見つけました。

  • 例1:

    echo "Test"
    `ls`
    

    出力:

    Test
    

    そしてls無視されました。

  • 例2:

    `test ':";`|)%$kasdj`
    

    これはエラーを返す必要がありますが、そうではなくコメントのように動作します。

ベストアンサー1

これ

`ls`

最初のスクリプトフラグメントで、コマンドを出力に置き換えてls実行します。空のディレクトリであれば何も置き換えられず、何も起こりません。

第2の例では、バックティック数は偶数ではなく奇数である。だから構文エラーがあります。

おすすめ記事