このサンプルをフォーマットすることは可能ですか?
for i in string1 string2 stringN
do
echo $i
done
をこのような形にすることは可能ですか?
for i in
string1
string2
stringN
do
echo $i
done
EDIT: 混乱させて申し訳ありません。スクリプトの実行方法が、sh <scriptname>
と bash <scriptname>
で異なることや、今はまだ名前をつけられませんが、#!/bin/sh
と #!/bin/bash
があることに気がつきませんでした :)
ループする各項目の前後で改行をエスケープすることができます。
for i in \
string1 \
string2 \
stringN
do
printf '%s\n' "$i"
done
あるいは、この単純な例では
printf '%s\n' string1 string2 stringN
となり、同じ結果となります。
関連する
bash` の配列を使ったバリエーションです。
strings=(
string1
string2
stringN
)
printf '%s\n' "${strings[@]}"