我有两个变量,我想从他们的一个运行一个for循环:变了个“for循环”
a=5
z="i=0;i<=$a;i++"
x="i=$a;i>=1;i--"
read -p "choose loop:" loop
case "$loop" in
plus) l="$z" ;;
minus) l="$x" ;;
esac
for (($l)) do
#also tried (('$l')) & (("$l"))
...
done
当我这样做我有:
syntax error: arithmetic expression requiered
syntax error:'(($l))'
所以,我想:
a=5
x="\(\(i=1;i<=$a;i++\)\)"
#also tried "((...))"
for $x do
...
done
#also tried "$x" & '$x'
但是,当我这样做是因为我得到了:
bash: '"$l"': not a valid identifier
。
但我只想要一个“循环结构”,我不想复制我的代码两次。
那么我该怎么做才能运行我的循环,而不必在循环内写入两次我的代码?
这非常优雅! – codeforester
@SLePort thx很多..这正是我需要.. – user7427983
感谢@codeforester。我正在考虑只使用一个'seq'命令,但我发现它的可读性会降低。 – SLePort