BASH shell scriptでの二次元配列(風)
うまい参考がなかったので、下記にメモ。二次元配列風 bash。下記をファイル名fileとして保存
#!/bin/bash ARRAYS=("a 1" "b 2 3" "ccc 4 5 6") for ARRAY in "${ARRAYS[@]}" do #echo ARRAY is \" "${ARRAY}" \" ARRAY=(`echo ${ARRAY}`) for ELEM in "${ARRAY[@]}" do echo "${ELEM}" done done
結果
~$ bash file a 1 b 2 3 ccc 4 5 6
~$bash -x filea
- ARRAYS=("a 1" "b 2 3" "ccc 4 5 6")
- for ARRAY in "${ARRAYS[@]}"
- ARRAY=(`echo ${ARRAY}`)
- echo a 1
- for ELEM in "${ARRAY[@]}"
- echo a
1
- for ELEM in "${ARRAY[@]}"
- echo 1
b
- for ARRAY in "${ARRAYS[@]}"
- ARRAY=(`echo ${ARRAY}`)
- echo b 2 3
- for ELEM in "${ARRAY[@]}"
- echo b
2
- for ELEM in "${ARRAY[@]}"
- echo 2
3
- for ELEM in "${ARRAY[@]}"
- echo 3
ccc
- for ARRAY in "${ARRAYS[@]}"
- ARRAY=(`echo ${ARRAY}`)
- echo ccc 4 5 6
- for ELEM in "${ARRAY[@]}"
- echo ccc
4
- for ELEM in "${ARRAY[@]}"
- echo 4
5
- for ELEM in "${ARRAY[@]}"
- echo 5
6
- for ELEM in "${ARRAY[@]}"
- echo 6