私は375と3500(375、380、385 ...)の5つの倍数をすべてリストする非常に単純なbashスクリプトを作成しようとしています。私が試したが成功しなかったことの1つは次のとおりです。
for i in {375..3500}
do
echo $i
(($i += 5))
done
私はしばらくして放棄し、BASICで約15秒で次のように書きました。
10 count = 375
20 print count
30 count = count+5
40 if count < 3500 then goto 20
BashスクリプトでBASICプログラムを書くには?
ベストアンサー1
とにかく中括弧拡張を使用しているので、その機能を活用してください。
echo {375..3500..5}
printf
この手法を使用すると、代替テキストの代わりにを使用して各番号を別々の行に印刷することもできます。echo
例:
$ printf "Number %s is generated.\n" {375..3500..5}
Number 375 is generated.
Number 380 is generated.
Number 385 is generated.
...
編集する
@kojiroがコメントで指摘したように、Mac OSはbash 3をデフォルトのシェルとして使用します。これは中括弧拡張シーケンス式の増分をサポートしません。 bashバージョン4にアップグレードするか、それをサポートする他のシェル(最近のzshなど)を使用する必要があります。