シェルスクリプトで配列を結合する
配列を作成する
シェルスクリプトで配列は要素をスペースで区切って全体を括弧で括ることで定義する。
$ a=(1 2 3)
$ for i in $a ; do echo $i ; done
1
2
3
変数に代入するときにイコールの前後にスペースを入れるとエラーになる。
$ a = (1 2 3)
zsh: unknown file attribute: 1
配列に追加する
+=
で配列の最後に要素を追加できる。
$ a=(1 2 3)
$ a+=4
$ for i in $a ; do echo $i ; done
1
2
3
4
配列を追加すると最後の要素に配列として追加される。
$ a+=(4 5)
$ for i in $a ; do echo $i ; done
1
2
3
4 5
配列を結合する
配列の結合をする場合は[@]
を付けて展開して再度配列にすると展開した状態で結合できる。
$ a=(1 2 3)
$ b=(4 5)
$ a+=(${b[@]})
$ for i in $a ; do echo $i ; done
1
2
3
4
5
括弧をつけないと最後の要素として追加になる。
$ a=(1 2 3)
$ b=(4 5)
$ a+=${b[@]}
$ for i in $a ; do echo $i ; done
1
2
3
4 5