次のコードがあります。
function test() {
for ft in "$1"; do
echo $ft
done
}
test 5
私は数字12を繰り返すので、ftが1,2,3,4,5
各ループに個別に含まれることを望みます。しかし、5つだけ印刷されます。私も試してみましたが、{1..$1}
まだ同じ結果です。助けてください!
ベストアンサー1
何を求めているのか分からない。パラメータを指定してから1からその値まで繰り返しますか?その場合は、bash(および他のシェル)を使用してこれを実行できます。
function test() {
for ((i = 1; i <= $1; ++i)); do
echo $i
done
}
test 12
1
2
3
4
5
6
7
8
9
10
11
12
この構文をサポートするシェルがない場合は、for(...)
次のコマンドを使用して同じことを実行できます。
function test() {
i=1
while [ $i -le $1 ]; do
echo $i
i=$(expr $i + 1)
done
}