export SRVHOME=`readlink -f \`dirname $0\`/../`
私はそれがディレクトリ変数をエクスポートすることを知っています。しかし、記号「\`」または「`」がコマンドを囲むとはどういう意味ですか?
2 つの ` 文字の間に入れるものはすべて、シェルのフォークで実行されるコマンドです。この場合、コマンド自体に別の ` 文字のペアが含まれているため、これらをエスケープする必要があります\
。
もう一つの例:
$ set -x
$ date -d @`echo \`date +%s\``
+++ date +%s
++ echo 1357377825
+ date -d @1357377825
Sat Jan 5 11:23:45 EET 2013
注:set -x
コマンドのすべてのステップを表示します。デバッグに役立ちます。
bashでは、$(command)
代わりにいくつかのカプセル化されたコマンドを実行できます。
$ date -d @$(echo $(date +%s))
+++ date +%s
++ echo 1357378055
+ date -d @1357378055
Sat Jan 5 11:27:35 EET 2013