44
我看到在bash腳本兩種不同的形式,這似乎做同樣的:
`some command`
和
$(some command)
是什麼兩者之間的區別,以及何時應該使用他們每個人?
我看到在bash腳本兩種不同的形式,這似乎做同樣的:
`some command`
和
$(some command)
是什麼兩者之間的區別,以及何時應該使用他們每個人?
沒有語義上的差異。反引號語法是較老的和較弱的版本。參見man bash
,「命令替換」部分。
如果您的shell支持$()
語法,請優先選擇它,因爲它可以嵌套。
我看到反引號也可以嵌套。例如:'\''echo''foo \\''' –
@MishaMoroshko:'''echo''foo \'''這樣的表達式(與'$(echo $(foo))'相對)因爲每個''''可以打開或關閉,所以一般都不會工作,因爲它固有的含糊不清。由於運氣或特殊功能,它可能適用於特殊情況。 – thiton
存在語義差異:反引號語法以不同且不明顯的方式處理反斜線。請參閱:http://mywiki.wooledge.org/BashFAQ/082 – benkc