この例の書式を指定できますか?
for i in string1 string2 stringN
do
echo $i
done
このような:
for i in
string1
string2
stringN
do
echo $i
done
編集:混乱させて申し訳ありません。スクリプトを実行する他の方法があることを知りませんでした。 sh<scriptname>
とbash <scriptname>
今では名前を付けることができない他の方法があります。#!/bin/sh
:)#!/bin/bash
答え1
Bashで配列を使用すると、読みやすさが向上します。この配列構文は、単語間の任意のスペースを許可します。
strings=(
string1
string2
"string with spaces"
stringN
)
for i in "${strings[@]}"; do
echo "$i"
done
答え2
バックスラッシュを使用して改行をエスケープできます。
$ for i in \
> hello \
> world
> do
> echo $i
> done
hello
world
$
答え3
list='a b c d'
for element in $list;do
echo "$element"
done
答え4
次に切り替えるオプションが提供されている場合zsh
:
for string (
string1
'other string'
etc..
) printf '%s\n' "$string"