算術拡張を説明する段落では、バッシュユーザーガイド式を評価する2つの方法、つまり最初のものはを使用し、$(( EXPRESSION ))
2番目の方法はを使用して示します$[ EXPRESSION ]
。どちらの方法も非常に似ているようですが、私が見つけた唯一の違いは次のとおりです。
$[ EXPRESSION ]
テストなしでEXPRESSIONの結果のみが計算されます。
しかし、同じ文書$[ EXPRESSION ]
から$(( EXPRESSION ))
。
可能であれば、Bashユーザーは角括弧を含む構文を使用する必要があります。
テスト回数が少ない場合は、なぜこれを行うのですか?
答え1
質問の繰り返し(回答を含む)
https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression
Bash v3.2.48のマンページには次のように記載されています。
[...] 算術拡張の形式は次のとおりです。
$((expression))
これ以前の形式 $[expression] は廃止されました。今後のbashバージョンでは削除される予定です。
したがって、$[...]は古い構文なので、もう使用しないでください。
この答えに加えて:
http://manual.cream.org/index.cgi/bash.1#27
Bashバージョン関連情報:
以下はbashのマニュアルページに関するいくつかの情報です(各マニュアルページが参照するバージョンに関する情報を見つけるのは難しいです)。
OPリンク:
http://www.tldp.org/guides.html Bash初心者ガイドバージョン:1.11作者:Machtelt Garrels最終更新日:2008年12月
sth(74.6k担当者)はbash v3.2.48を引用します。
~からhttps://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression)
注:[]と(())の詳細については、こちらをご覧ください。http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00033.html
私が見つけたリンク:
http://www.gnu.org/software/bash/manual/ 最終更新日:2012年8月22日
http://www.gnu.org/software/bash/manual/bash.html#Arithmetic-Expansion