ShellScriptで配列の要素にスペースが入った場合の書き方

シェルスクリプトの配列にスペースが入ったとき

シェルスクリプトの中に配列を作成して、処理をさせようとしたとき。

#!/bin/sh

slist=("this is one" two "I am three")

for item in ${slist[@]}; do echo ${item}; done
$ sh shell.sh
this
is
one
two
I
am
three

違うそうじゃない!!

配列内にスペースがある場合の書き方

配列を取り出す部分でもダブルコーテーションで囲んであげる

#!/bin/sh

slist=("this is one" two "I am three")

for item in "${slist[@]}"; do echo "${item}"; done
$ sh shell.sh
this is one
two
I am three