Bashスクリプトのコマンドと式の間に意味のある違いはありますか?また、(コマンド)が新しいサブシェルを開き、コマンドを実行することを知っていますが、(式)がある場合は何が起こるのかわかりません。コマンドの代わりに式を使用するとどうなりますか?
例えば
[[ ( "$#" < 1 ) ]]
ありがとう
答え1
[[ ( "$#" < 1 ) ]]
位置引数の数が辞書順であることを[[ ... ]]
確認するテストです(算術「より小さい」テストを実行するために代わりに使用されます)。$#
1
-lt
<
シェルの特別な[[ ... ]]
構文では、bash
括弧はサブシェルを導入するのではなく、演算子の一般的な優先順位が無視されるように式をグループ化する方法を提供します。
これは構文をbash
説明するマニュアルに記載されています。[[ ... ]]
[[ expression ]]
[...]
式は、優先順位の降順でリストされている次の演算子を使用して結合できます。
( expression )
返された値ですexpression
。これは、演算子の一般的な優先順位を上書きするために使用できます。
[...など...]