0
export SRVHOME=`readlink -f \`dirname $0\`/../`

私はそれがディレクトリ変数をエクスポートすることを知っています。しかし、記号「\`」または「`」がコマンドを囲むとはどういう意味ですか?

4

1 に答える 1

2

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
于 2013-01-05T09:22:31.810 に答える