宣言された配列変数の代入

宣言された配列変数の代入

(ここで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配列の最初の値としてのみ拡張されます。

おすすめ記事