注文」一連の数字を標準出力として印刷そして、私が知っている限り、追加によってのみカウンタを増やすことができます。
例えば、
seq 0 3 10
0
3
6
9
seq
0から10まで3ずつ増加するように指示します。
加算の代わりに乗算を使用する方法はありますか?
seq-mult
賞賛するようになれば
seq-mult 1 10 10000
1
10
100
1000
10000
答え1
シェルスクリプトでプログラムするのはとても簡単です。
#!/bin/bash
i=$1
while [[ $i -le $3 ]]
do
printf "%d\n" $i
(( i *= $2 ))
done
ここではエラーチェックはまったく行われません。 YMMV。
答え2
forループを使用すると、次のことができます。
start=$1
incr=$2
end=$3
for ((i=start;i<=end;i*=incr)); do
printf '%d\n' "$i"
((i==0)) && break
done
答え3
からインスピレーションを受けるDonal24の答え、私はmakefileで動作し、提供され定義された独自の「レシピ」をMIN_INPUT
作成MAX_INPUT
しましたSTEP
。
range=$(MIN_INPUT); \
max=$(MAX_INPUT);\
step=$(STEP);\
while [ $$range -le $$max ];\
do\
range=`expr $$range \* $$step`;\
done