Bashの`と'の違いは何ですか? [コピー]

Bashの`と'の違いは何ですか? [コピー]

今日私は実行すると、次のことがわかりました。

ldd `which bash`

期待される結果を得る。しかし、私が走るとき

ldd 'which bash'

エラーが発生しました。./which bash: No such file or directory.

それでは、このように見える2つのシンボルの違いは何ですか?

ベストアンサー1

「名前が付けられたバックティック、評価コマンド。

バックティックは、以前のスタイルのコマンド置換に使用されます。

foo=`command`

これ

foo=$(command)

代わりに構文を使用することをお勧めします。内部バックスラッシュ処理は$()驚くべきことではなく、$()入れ子にするのが簡単です。

バラよりhttp://mywiki.wooledge.org/BashFAQ/082


一重引用符 'は、文字列のシェル拡張を防ぐために使用されます。

シェルから正しく引用する方法を学ぶことは非常に重要です。

スペース/メタ文字を含むすべてのリテラルは「二重引用符」として扱われます。すべて拡張:"$var"、、、、。"$(command "$var")"​コードやテキストについてはを参照してください。"${array[@]}""a & b"'single quotes'$'s: 'Costs $5 US'ssh host 'echo "$HOSTNAME"'
http://mywiki.wooledge.org/Quotes
http://mywiki.wooledge.org/Arguments
http://wiki.bash-hackers.org/syntax/words
いつ二重引用符が必要ですか?

おすすめ記事