概述
bash(或一般的Posix shell)没有明确的后测试循环语法(通常称为“do-while”循环),因为语法是多余的. while复合语句允许您编写预测试,后测试或中间测试循环,所有这些都使用相同的语法.
这是从Posix开始的shell while循环的语义:
The format of the while loop is as follows:
while compound-list-1
do
compound-list-2
done
The compound-list-1 shall be executed, and if it has a non-zero exit status, the while command shall complete. Otherwise, the compound-list-2 shall be executed, and the process shall repeat.
“复合列表”是一系列命令;复合列表的退出状态是列表中最后一个命令的退出状态.
这意味着您可以将while循环视为如下所示:
while
optional-pre-test-compound-list
condition
do
post-test-compound-list
done
也就是说,不要求要立即测试的条件遵循while关键字.所以相当于C语法:
do statements while (test);
是
while statements; test do :; done
:do和done之间是必需的,因为shell语法不允许空语句.因为:不是元字符,它必须在它之前和之后有空格或元字符;否则,它将被解析为前一个或后一个令牌的一部分.因为它被解析为一个命令,所以它后面还需要一个分号或换行符;否则将完成视为:.
最后
以上就是称心可乐为你收集整理的linux shell do while,Linux Bash是否有do-while循环?的全部内容,希望文章能够帮你解决linux shell do while,Linux Bash是否有do-while循环?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复