問題與標題所述的一樣簡單:以下兩個表達式有什麼區別?
$(...)
`...`
例如,是兩個變量test1
和test2
不同?
test1=$(ls)
test2=`ls`
問題與標題所述的一樣簡單:以下兩個表達式有什麼區別?
$(...)
`...`
例如,是兩個變量test1
和test2
不同?
test1=$(ls)
test2=`ls`
您可能需要閱讀man bash
:
當使用替代舊式的反引號的形式,反斜槓其次當$,`,或者只是其字面含義。不帶反斜槓的第一個反引號將終止命令替換。使用$(command)形式時,括號之間的所有字符構成命令;沒有人專門處理。
這是在手冊頁的「命令替換」部分。
使用```是歷史語法,POSIX採用了現在標準的$(...)語法。見Section 2.6.3
@theman:謝謝你的「有見識」的評論。 – 2009-02-25 11:37:08
請注意,這不只是bash。這適用於ksh和普通的舊sh(即使在sh中也不是變相的bash)。 – dwc 2009-02-26 22:09:05