算術展開を説明する段落で、Bashのユーザーガイドは式を評価する2つの異なる方法を明らかにしています。最初の方法は$(( EXPRESSION ))
を使用します 2つ目は$[ EXPRESSION ]
を使用します 。私が見つけた唯一の違いは次のとおりであるため、2つの方法は非常に似ているようです。
$[ EXPRESSION ]
EXPRESSIONの結果のみを計算し、テストは行いません:
それでも、同じドキュメントで$[ EXPRESSION ]
の使用が推奨されているため、興味をそそられます。 $(( EXPRESSION ))
ではなく 。
可能な限り、Bashユーザーは角かっこを使用した構文を使用するようにしてください。
実行するテストが少ない場合、なぜそれが必要なのですか?
承認された回答:
重複の質問(回答付き)
https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression
bashv3.2.48のマンページには次のように書かれています。
[…]算術展開の形式は次のとおりです。
$((expression))
古い形式の$[expression]は廃止されました 今後のバージョンのbashでは削除されます。
したがって、$[…]は古い構文であり、もう使用しないでください
その答えに加えて:
http://manual.cream.org/index.cgi/bash.1#27
bashバージョンに関連する情報:
ここにbashのmanページに関するいくつかの情報があります(それぞれが参照しているバージョンに関する情報を見つけるのは難しいです):
OPリンク:
http://www.tldp.org/guides.html初心者向けBashガイド
バージョン:1.11
作成者:Machtelt Garrels、
最終更新日:2008年12月
sth(74.6k rep)quoting 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