Bash
bash腳本中的(表達式)和(命令)有什麼區別
bash 腳本中的命令和表達式之間有什麼有意義的區別嗎?另外,我知道(命令)打開一個新的子shell並執行命令,但我不知道當你有(表達式)時會發生什麼。當您使用表達式而不是命令時會發生什麼。
例如
[[ ( "$#" < 1 ) ]]
謝謝
[[ ( "$#" < 1 ) ]]
這是一個
[[ ... ]]
測試,檢查$#
位置參數的數量是否按1
字典順序排序(用於-lt
代替<
執行算術“小於”測試)。在 shell 的特殊
[[ ... ]]
語法中bash
,括號不引入子 shell,而是提供一種對錶達式進行分組的方法,以覆蓋運算符的正常優先級。這在
bash
手冊中進行了解釋,其中描述了[[ ... ]]
語法:
[[ expression ]]
$$ … $$ 表達式可以使用以下運算符組合,按優先級降序排列:
( expression )
返回 的值
expression
。這可用於覆蓋運算符的正常優先級。$$ …etc… $$