Max*_*ulo 2 bash shell while-loop
在 bash 脚本中,我需要运行一个命令,直到返回值大于 127。
现在,我在子 shell 中运行该命令,输出到 /dev/null 并打印返回代码以便能够将其与测试进行比较:
while [ `command >/dev/null 2>&1; echo $?` -lt 128 ]; do sleep 1; done
Run Code Online (Sandbox Code Playgroud)
有更优雅的解决方案吗?看起来原生支持的唯一用例是测试 RC == 0 是否。
我认为启动无限循环并在退出代码大于 127 时中断会更优雅。
while true; do
command # redirection is now optional
[ $? -gt 127 ] && break
sleep 1
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1054 次 |
| 最近记录: |