for i in {1..40}
do
echo $i
done
私は持っています
{1..40}
私は次のようなものが欲しい
1
2
3
and so on
i
したがって、コマンドのパラメータでその変数を使用できます。
答え1
存在する強く打つ3.0以上(およびzshとksh93)は{1..40}
1〜40(含む)に拡張されます。中POSIXシェルダッシュ(/bin/sh
Ubuntuでは一般的です)と同じようには機能しません(私たちはこの問題を「bashism」と呼びます)。
GNUユーティリティを使用しているシステムでは、次のコマンドを使用してseq
これを実行できます。
for i in $(seq 1 40)
do
echo $i
done
移植性を高めるには、ループ内で手動で増やす必要があります$i
。while
i=1
while [ $i -le 40 ]
do
echo $i
i=$((i+1))
done
このポータブルバージョンは外部コマンドがないため、少し高速です。