コマンドの置き換えとスペース

コマンドの置き換えとスペース

電卓として機能する理由:

[root@qabun02 ~]# echo $(( 5+2  ))
7

しかし、そうではありませんか?

[root@qabun02 ~]# echo $( (5+2) )
-bash: 5+2: command not found

私が見ることができる唯一の違いは、括弧の間にスペースがないことです。

返品:

[root@qabun02 ~]# echo $(who) root pts/0 2015-01-28 09:53 (10.40.0.115) [root@qabun02 ~]# echo $((who)) 0

((コマンド置換はおよびにどのように応答しますか( (

ベストアンサー1

問題は、$(コマンド置換が有効になっているが$((算術拡張が有効になっていることです。

$( (5+2) )コマンドです。つまり、サブシェルのコマンドです(5+2)5+2しかし、これは有効なコマンドではありません。

$((who))who未定義の変数値(例:0)に置き換えられます。

おすすめ記事