2012-01-20 35 views
44

私はbashのスクリプトで同じことを行うように見える2つの異なる形式を参照してください。2、およびときに私はそれらの一つ一つを使用すべきであるとの違いは何ですか

`some command` 

$(some command) 

を?

答えて

44

意味上の違いはありません。バックティックの構文は、古いバージョンとそれほど強力ではありません。 man bashの「コマンド置換」を参照してください。

シェルで$()の構文がサポートされている場合は、ネストすることができます。

+0

バッククォートも入れ子にすることができます。例えば、 '\' echo \\ 'foo \\' \ '' –

+10

@MishaMoroshko: '\' echo \ 'foo \' \ 'のような表現(' $(echo $(foo)) 'それぞれの '\'がオープンまたはクローズできるので、あいまいさが原因で一般的に動作しません。幸運や特別な機能のために特別なケースのために働くかもしれません。 – thiton

+1

意味上の違いがあります。バックティック構文は、バックスラッシュを異なる方法で処理します。参照してください:http://mywiki.wooledge.org/BashFAQ/082 – benkc

関連する問題