15

GNU bashマニュアルは私に教えてくれます

構文を使用して変数が割り当てられている場合、インデックス付き配列が自動的に作成されます

name[subscript]=value

添え字は、数値に評価される算術式として扱われます。添字が 0 未満の数値に評価される場合、それは配列の最大インデックスよりも大きい 1 からのオフセットとして使用されます (したがって、-1 の添字は配列の最後の要素を参照します)。

だから私はそれを試してみて、次の結果を得ると思います:

$ muh=(1 4 'a' 'bleh' 2)
$ echo $muh
1
$ echo ${muh[*]}
1 4 a bleh 2    # so far so good so now I'll try a negative ...
$ echo ${muh[-1]}
-bash: muh: bad array subscript  # didn't go as planned!

何か間違ったことをしたのでしょうか、それとも Web サイトが間違っているのでしょうか、それとも gnu bash が CentOS で実行している bash と大きく異なるのでしょうか? ありがとう!

4

5 に答える 5

1

負の添字は、Ubuntu 14.04 / GNU bash バージョン 4.3.11(1) を搭載したコンピューターで完全に正常に機能しますが、次のように返されます。

line 46: [-1]: bad array subscript

4.2.46(1) で同じスクリプトを実行しようとすると。私

于 2016-10-19T12:34:36.680 に答える