bash は変数や配列に += 演算子で値が追加できる
ここのところ Cygwin 環境の再構築をしており,シェル周りについてもいろいろ調べ直しています。
今まで知らなかったのですが,bash で変数に値を連結したり,配列に値を追加したりするときに +=
演算子が使えるそうです。
man page にもちゃんと書いてありました。
代入文でシェル変数や配列のインデックスに値を代入する場面では、 += 演算子を使って変数の直前の値に追加したり加算したりできます。 (中略) インデックスによる配列の場合は、新しい値が最大のインデックス より一つ大きいインデックスから配列に追加されます。
変数に値を連結する
これまで以下のように書いていたものが
$ var="foo" $ var="$var bar" $ echo $var foo bar
こう書ける
$ var="foo" $ var+=" bar" $ echo $var foo bar
配列に値を追加する
旧式の書き方
$ array=("foo" "bar") $ array=(${array[@]} "baz") $ echo ${array[@]} foo bar baz
見やすくスッキリ
$ array=("foo" "bar") $ array+=("baz") $ echo ${array[@]} foo bar baz