我有兩個變量,我想從他們的一個運行一個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