ヒアドキュメントで配列に入れる

Bashでヒアドキュメントを使って改行毎に配列に入れたいと思った

普通に配列に入れる時は

ARRAY1=('A' 'B' 'C')

という感じで半角スペースで区切ってやればOKなのは知ってる

ただ、多くのデータを配列に初期値として入れたい場合、いちいち半角スペースで区切って書くのが面倒なのでヒアドキュメントを使いたくなる

で・・・

ARRAY2<<-EOF
A
BB
CCC
EOF


なんて書いてみるが、単純にARRAY2に改行ごと格納されるだけ(--;)

どうするのかなぁ~と思ってたらBash4以上であればmapfileを使えば可能なのが判明
まぁ、mapfileなんて初めて聞いたんだけどね

参考にしたのはこちら

takuya-1st.hatenablog.jp


書き方としては・・・

mapfile ARRAY3<<-EOF

XXX

YYY

ZZZ

EOF


とするだけ(^^;)

なかなか奥が深い 

 

入門bash 第3版

入門bash 第3版