1. ホーム
  2. linux

[解決済み] という記号がありますが、これはどういう意味ですか?

2022-02-05 03:47:57

質問

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 は、コマンドのすべてのステップを表示します。デバッグに便利です。

バッシュ で複数のカプセル化されたコマンドを実行することができます。 $(command) の代わりに

$ date -d @$(echo $(date +%s))
+++ date +%s
++ echo 1357378055
+ date -d @1357378055
Sat Jan  5 11:27:35 EET 2013