gpt4 book ai didi

linux - Shell脚本,失败则停止运行

转载 作者:太空宇宙 更新时间:2023-11-04 09:14:29 25 4
gpt4 key购买 nike

我有一个重复运行测试的 shell 脚本:

#!/bin/tcsh                                                                                                   
set x = 1
while ($x <= 10000)
echo $x
./test
@ x += 1
end

我正在尝试调整它以打破循环并在测试失败时停止运行,即测试可执行文件以非零状态返回。我认为以下更改会奏效。

#!/bin/tcsh                                                                                                   
set x = 1
set y = 0
while ($x <= 10000 && $y == 0)
echo $x
@ y = ./test
@ x += 1
end

但是,我收到错误 @: Expression syntax

能否请您告诉我我做错了什么,以及如何在变量中捕获 ./test 的返回值,以便我可以打破循环,或者以其他方式打破循环遇到测试失败时

最佳答案

我不喜欢在 csh 中编写脚本,我强烈反对它。然而,在这种情况下,csh 似乎做对了,您可以简单地做:

#!/bin/tcsh                                                                                                   
set x = 1
while ($x <= 10000)
echo $x
./test || break
@ x += 1
end

关于linux - Shell脚本,失败则停止运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49736037/

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