配列をループして処理したい時に使える技。複数行ある場合も想定
目次
サンプルコード
bashでもzshでも多分動きます
一行文字列の配列
スペースで区切った文字列を()
で括っておくとfor in
として使えます
取り出した要素は${foo}
で拾えます。配列全体は${bar[@]}
で取れます。
以下のようにダブルクォートで囲っていると機能しなくなるので注意
("AAA BBB CCC")
textList=(YWFhYWEK LWFhYQogICAtIOOBguOBguOBguOBgg== LWFhYQogICAtIOOBguOBguOBguOBgg==)
for text in ${textList[@]}
do
echo ${text}
done
出力結果
YWFhYWEK
LWFhYQogICAtIOOBguOBguOBguOBgg==
LWFhYQogICAtIOOBguOBguOBguOBgg==
複数行文字列の配列
Base64辺りでエンコードしておくと扱いが楽です
textList=(YWFhYWEK LWFhYQogICAtIOOBguOBguOBguOBgg== LWFhYQogICAtIOOBguOBguOBguOBgg==)
for text in ${textList[@]}
do
pure=$(echo ${text} | base64 -d)
echo "$pure"
done
出力結果
aaaaa
-aaa
- ああああ
-aaa
- ああああ