bashでドル記号の後に角括弧$ [...]が続くのはどういう意味ですか?

bashでドル記号の後に角括弧$ [...]が続くのはどういう意味ですか?

$[expr]算術拡張を実行するには$((expr)):しかし、$[bashのマニュアルには言及がありません。このコマンドは結果を提供しません。

gunzip -c /usr/share/man/man1/bash.1.gz | grep -E '\$\['

この演算子は何ですか?その行動はどこでも標準化されていますか?

私のbashバージョン:GNU bash、バージョン3.2.51(1)-release(x86_64-apple-darwin13)

答え1

GNU bashメーリングリストのスレッドからこれは、その$[構文が初期構文であり、$((Kornシェルで後者を使用するため、廃止されたことを示します。

~によるとこのウェブサイト, bash 3.2.48 マニュアルには$[構文への参照が含まれています。したがって、この参照は3.2.51で削除されたと推測されます。

答え2

あなたは見つけることができます以前のbashソースコードはここにあります。。特にダウンロードするときbash-1.14.7.ta​​r.gz。あなたはdocumentation/bash.txt以下を見つけることができます:

算術拡張

算術拡張を使用すると、算術式を評価して結果を変更できます。算術拡張は2つの形式で提供されます。

     $[expression]

     $((expression))

$[への参照doc/bash.htmlbash-doc-2.0.tar.gz ダウンロードドキュメントNEWSには次のものがあります。

$[...]算術拡張構文はサポートされなくなりました$((...))

$((...))道路標準構文算術拡張に使用されますが、おそらくもともとBashの実装よりも後で標準に追加されたでしょう。

しかし、$[...]Bash 5.0ではまだ動作しているように見えるため、完全には削除されませんでした。

関連情報