LoginSignup
18
20

More than 1 year has passed since last update.

シェル — スペースが含まれる配列要素をループする

Last updated at Posted at 2017-11-24

注意

コメント欄参照

検証

ループの中で、添え字を使って配列要素にアクセスする。

example.sh
arr=(
"Space delimited text A"
"Space delimited text B"
"Space delimited text C"
)


for ((i = 0; i < ${#arr[@]}; i++))
do
  echo "${arr[$i]}"
done

結果

$ bash example.sh
Space delimited text A
Space delimited text B
Space delimited text C

問題

以下の書き方では、スペースの区切りで別要素として扱われてしまっていた。

example.sh
arr=(
"Space delimited text A"
"Space delimited text B"
"Space delimited text C"
)

for item in ${arr[@]}; do
  echo "$item"
done
$ bash example.sh
Space
delimited
text
A
Space
delimited
text
B
Space
delimited
text
C

環境

  • bash 4.4.0

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

Twitter

18
20
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
20