我有以下周期:
flag=true
for ((i = 0; (( i <= ${#array[@]} / 5 - 1 && "$flag" == true )); i++))
do
flag=false
echo "The loop continues."
done
我的for循环继续,偶数标志设置为false。似乎剩下的条件是循环&#34; $ flag&#34; == true未评估。如果flag设置为false,如何修复for循环中的条件取消循环周期?
答案 0 :(得分:2)
你不能使用C风格的构造......
该陈述是 false 。问题中写的代码可以通过melpomene建议的更改来纠正:
您也可以使用
1
和0
代替true
和false
, 分别
flag=1
for ((i = 0; (( i <= ${#array[@]} / 5 - 1 && "$flag" == 1 )); i++))
do
flag=0
echo "The loop continues."
done