バックティックの説明

バックティックの説明

これら2つのコマンドの違いが何であるかを知りたいです。

echo ` echo `date` `

echo ` echo \`date\` `

\が文字をエスケープするために使用されることを知っていますが、この特定の文脈では理解できません。私達はなぜ使用しないか。

echo \` echo \`date\` \` 

代わりに `文字をエスケープする必要がある場合はどうなりますか?

ベストアンサー1

$(cmd)入れ子にできる他のバックティック式を使用できます。一方、バックティック内部パラメータを変数として生成して内部で使用できます。

echo $(echo `date`)
echo $(echo $(date))

x=`date` echo `echo $x`

引用符をエスケープしないで \` を使うと

echo $(echo )date$( )

シェルは引数を解析して式の引数を評価しようとします。つまり:

echo \` echo \`date\` \` 
argv[0]="echo", argv[1]="`", argv[2]="echo", argv[3]="`date`", argv[4]="`"

私はあなたが理解できるように別の例を残します。

おすすめ記事