循环遍历脚本设置

时间:2014-02-05 15:27:26

标签: bash unix for-loop numbers

我有一个脚本,它将0-1中的数字作为其中一个选项。我想测试这些不同设置的作用,所以我想循环遍历所有这些设置。我想用这个生成数字:

for ((i=0; i <= 10; i += 1)); do echo "scale=1; ${i}/10"| bc; done

但是,当我尝试此操作时bc在设置之前不会评估scale=1; ${i}/10,因此我最终使用scale=1; ${i}/10而不是我想要的实际数字:

for ((i=0; i <= 10; i += 1)); do Myscript --input testdata --setting "scale=1; ${i}/10"| bc; done

2 个答案:

答案 0 :(得分:2)

试试这个循环:

for ((i = 0; i <= 10; i++ )); do
    Myscript --input testdata --setting "$(bc -l <<< "scale=1; ${i}/10")"
done

答案 1 :(得分:2)

如果要将其作为文字文本包含,则需要命令替换echo "scale=1; ${i}/10" | bc

 for ((i=0; i <= 10; i += 1)); do
   Myscript --input testdata --setting $(echo "scale=1; ${i}/10"| bc)
 done

但是,执行以下操作会更容易:

 for i in 0 0.{1..9} 1; do
   Myscript --input testdata --setting $i
 done
相关问题