10
這可能不是最引人深思的問題,但卻激起了我的好奇心。我一直無法在網上找到任何答案(更不用說明確的答案)。爲什麼9之後的bash命令行參數需要大括號?
在閱讀高級Shell腳本時,我遇到了關於命令行位置參數的this section,其中指出第九個參數之後的任何內容必須被$ {}(變量引用/替換的較長形式)包圍。
簡而言之,爲什麼你必須引用命令行參數十(及以上)爲${10}, ${11}...
而不是$10, $11, ...
?
歷史;原始的Bourne shell將'$ 12'解釋爲'$ {1} 2'(並且不允許'$ {12}'AFAICR)。 –