私はこのスクリプトを実行しています(zshを使用していますが、それほど重要ではないようです)。
mylist=`seq 1 3`
for i in $mylist ; do echo "abc/$i" ; done
これは以下を提供します:
abc/1
2
3
見たいのですが:
abc/1
abc/2
abc/3
誰かがうまくいかない理由/実行方法を見つけることができたら、本当に感謝します。
答え1
簡単に保つことができます。
for i in 1 2 3; do echo "abc/$i" ; done
または
for i in $(seq 1 3); echo "abc/$i"
出力:
abc/1
abc/2
abc/3
答え2
この種のタスクを実行する別の方法は、中括弧拡張を使用することです。
echo abc/{1..3}
しかし、当然改行を要求するので、次のようにしなければなりません。
abc_strings=( abc/{1..3} )
printf "%s\n" "${abc_strings[@]}"