配列を作成しましたが動作しません

配列を作成しましたが動作しません

Bashスクリプトから配列を作成しようとしています。私はこれをやっています:

#!/bin/bash
declare -a testArray1=('a/b/c.def -x -y -z','x/y/z.000 -a -b -c')

echo "testArray1[0] = ${testArray1[0]}"
echo "testArray1[1] = ${testArray1[1]}"

しかし、これはうまくいきません。すべてが[0]配列の単一要素に追加されます。

私は何が間違っていましたか?

ベストアンサー1

代わりにこれを使用してください:

declare -a testArray1=('a/b/c.def -x -y -z' 'x/y/z.000 -a -b -c')

ところで:を使用して配列構造を確認できますdeclare -p。以下を参照してください。

$ declare -a testArray1=('a/b/c.def -x -y -z','x/y/z.000 -a -b -c')
$ declare -p testArray1
declare -a testArray1='([0]="a/b/c.def -x -y -z,x/y/z.000 -a -b -c")'
$
$ declare -a testArray1=('a/b/c.def -x -y -z' 'x/y/z.000 -a -b -c')
$ declare -p testArray1
declare -a testArray1='([0]="a/b/c.def -x -y -z" [1]="x/y/z.000 -a -b -c")'

おすすめ記事