我正在尝试使用bash反复运行一个python脚本。但是,为了避免大量运行脚本,我想对其运行的次数设置上限。目前我正在使用' modulo'运算符返回一个余数,然后在执行循环时将其用作字符串:
#!/bin/bash
RANGE=1000
number=$RANDOM
let "number %= $RANGE"
for run in {1..$number}
do
python script.py
done
随机数有效(即$number
是1-1000之间的随机数),但问题是这似乎只运行一次脚本,无论随机数是多少。
问题可能是什么?
答案 0 :(得分:4)
问题在于这一行:
for run in {1..$number}
由于变量不允许(扩展)在范围{..}
内,因此无论$number
的值是多少,都会导致您的循环仅运行一次。
像这样使用:
#!/bin/bash
range=1000
number=$((RANDOM % range))
for ((run=1; run <= number; run++)); do
python script.py
done