我们在 Bash 脚本中创建以下循环
until [[ $completed == true ]]
do
if .....
then
echo "procedure ended"
break # break the for looop
else
.
.
fi
.
.
done
当程序结束时,我们希望退出循环(参见echo "procedure ended"
)
我们不确定是否需要设置break
或break 1
?
答案1
POSIX 规范break [n]
明确指出[强调我的]:
如果
n
指定了,break
实用程序将退出n
封闭的for
、while
或until
循环。如果n
没有指定,break
则应表现得像n
已指定为一样1
。执行应继续执行退出循环后立即执行的命令。的值为n
正十进制整数。如果n
大于封闭循环的数量,则应退出最外层的封闭循环。如果没有封闭循环,则行为未指定。
Bash 符合此规范。所以答案是:没关系,break
并且break 1
是等效的。