2013-01-05 55 views
0
export SRVHOME=`readlink -f \`dirname $0\`/../` 

我知道它會導出一個目錄變量。但是用符號「\`」或「`」表示的是什麼意思?

回答

2

無論你在兩個字符之間放置了什麼命令,都是在shell的fork上運行的命令。 在這種情況下,命令本身包含另一對'字符 - 因此,它們必須被轉義,這是通過預先設置\字符來完成的。

的其他例子:

$ 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 
+1

感謝您的幫助! – lelema

+1

@tupipa如果這解決了您的問題,請考慮[接受](http://meta.stackexchange.com/a/5235)這個答案。謝謝。 –

+0

我冒昧地重寫了第一句,我發現不清楚。如果您不喜歡結果,請再次更改。 – reinierpost