for循环中的动态变量

时间:2017-08-28 08:36:09

标签: bash variables for-loop

我有一个简单的bash脚本,可以多次打印另一个csh脚本:

> "prod_${j}.ll"

这里循环的每一步我都需要将cnt2定义为" $ {j} + 1" (例如,如果j = 2,则cnt2应为3等) 然后回到原始的$ j,在打印文件的名称中定义它的值

{{1}}

1 个答案:

答案 0 :(得分:0)

可能最简单的是使用另一个变量,我在这里使用了k

for j in $(seq 2 10)
do
    k=$((j+1))
    printf "#!/bin/csh
set cnt    = ${j}

set cnt2   = ${k} > "prod_${j}.ll"\n"

done

这并不重要,但使用printf几乎不值得,echo稍微简单一些,不需要尾随换行符。同样,变量名称周围的括号在这里是不必要的,但如果你喜欢打字,你不会受到任何伤害。