linux shell do while,Linux Bash是否有do-while循环?

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语法不允许空语句.因为:不是元字符,它必须在它之前和之后有空格或元字符;否则,它将被解析为前一个或后一个令牌的一部分.因为它被解析为一个命令,所以它后面还需要一个分号或换行符;否则将完成视为:.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值