2011-02-12 44 views
1

我對這種差異感到懷疑,哪一個是在shell腳本中執行命令更好的引用。更好地引用shell腳本執行命令

例如,我有這樣兩個例子:

echo "The name of the computer is `uname -n`" 
echo "The name of the computer is $(uname -n)" 

哪一個更好?或者沒有不同?

回答

7

一般推薦使用$(...),因爲它嵌套更容易。比較:

date -d "1970-01-01 $(echo "$(date +%s)-3600"|bc) sec UTC" 

date -d "1970-01-01 `echo \"\`date +%s\`-3600\"|bc` sec UTC " 
+0

+1它也很容易將反引號與單引號混淆一瞥。有關更多信息,請參閱[爲什麼$(...)優於反引號?](http://mywiki.wooledge.org/BashFAQ/082「BashFAQ/082」)。 – 2011-02-13 00:00:22