Bash 変数に値を代入して、その変数で計算した結果変数を使う

 変数に値を代入する場合はスペースを入れずに、次のように詰めて書きます。

n=20

つまり、次のようにスペースを入れて書くとエラーになります。

n = 20

次に、演算は先頭に$を付けて2重カッコの中に次のように書きます

step=$((計算式))

そして、その結果を使うには、変数の先頭に$を付けるだけです。

python test_$step.py

全体の使用例として、雛形コードを次に載せます。

■本プログラム

#!/bin/bash

n=20
step=$((($n-10)*2+1))

for i in `seq -f %02g 1 $step`
do
    echo python test_$i.py
done

上記を例えば、calc.shと保存して、コマンドラインでsh calc.shとして実行すると下図のようになります。これは、(20-10)*2+1=21を計算して、1から21をループしてechoで表示した結果です。

f:id:HK29:20210618231127p:plain

以上

<広告>