gpt4 book ai didi

bash - 如何在 Bash 中跳出循环?

转载 作者:太空宇宙 更新时间:2023-11-04 12:38:16 24 4
gpt4 key购买 nike

我想编写一个 Bash 脚本来处理文本,这可能需要一个 while 循环。

例如,C 中的 while 循环:

int done = 0;
while(1) {
...
if(done) break;
}

我想编写一个与之等效的 Bash 脚本。但是我通常使用的以及我阅读的所有经典示例都显示的是:

while read something;
do
...
done

它没有提供有关如何执行 while(1){}break; 的帮助,它们在 C 中定义明确并广泛使用,我没有为标准输入读取数据。

谁能帮我写出与上述 C 代码等效的 Bash?

最佳答案

bash 中并没有什么不同。

workdone=0
while : ; do
...
if [ "$workdone" -ne 0 ]; then
break
fi
done

:是空操作命令;它的退出状态始终为 0,因此循环一直运行到 workdone 被赋予一个非零值。


您可以通过多种方式设置和测试workdone 的值以退出循环;我在上面展示的那个应该可以在任何兼容 POSIX 的 shell 中工作。

关于bash - 如何在 Bash 中跳出循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40983760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com