2016-12-10 143 views
0

我不知道這個操作符$ [],並且找不到它。但是我知道,接下來的兩碼給出相同的輸出

a=4 
b=1 
echo $[a-b] # => 3 

a=4 
b=1 
echo $((a-b)) # => 3 

那麼,什麼是$ []對運營商來說,什麼是與$差(())?

在我的zsh shell提示符下,當我打開它們中的任何一個並且沒有關閉它們時,我寫了mathsubst

回答

2

閱讀man bash說舊格式$[expression]已棄用,將被刪除。否則,它們應該是等效的。

算術擴展允許評估算術表達式 並替換結果。算術 擴展的格式是:

  $((expression)) 

舊格式$[expression]被棄用,並將在即將 的bash的版本中刪除。

+0

儘管從'bash' 4.4開始,語法仍然受支持,即使已經從手冊頁中刪除了棄用警告。 – chepner

相關問題