(ここでbashを初めて使用)
Bashはデータベーステーブルを含む配列を正常に作成し、それを繰り返しました。スクリプトの上部でこの配列を宣言し、それを別の変数に割り当てたいと思います。
my_databases=(value1 value2 value3)
これを繰り返すとうまくいきます。for i in "${my_databases[@]}"
それが問題です:
繰り返したくありませんが、my_databases
途中で配列を変数に割り当てる手順がありますnew_array
。
new_array=$my_databases
これを繰り返すと、new_array
最初の配列値の後にスクリプトが失敗します。宣言された配列を新しい変数に正しく割り当てる方法は?
ベストアンサー1
新しい配列変数を作成するには、次のように古い配列の値を新しい配列に割り当てます。
my_databases=(value1 value2 value3)
new_array=("${my_databases[@]}")
使用する場合
new_array=$my_databases
新しい変数は配列ではなく(を使用しない限りdeclare -a new_array=$my_databases
)、$my_databases
配列の最初の値としてのみ拡張されます。