运行命令,直到返回大于x的代码

时间:2014-09-15 11:39:29

标签: bash shell while-loop

在bash脚本中,我需要运行一个命令,直到返回值大于127.

现在,我正在子shell中运行命令,输出到/ dev / null并打印返回码以便能够将它与测试进行比较:

while [ `command >/dev/null 2>&1; echo $?` -lt 128 ]; do sleep 1; done

是否有一个优雅的解决方案?看起来本机支持的唯一用例是测试RC == 0或不是。

1 个答案:

答案 0 :(得分:4)

我认为在退出代码大于127时启动无限循环并中断会更优雅。

while true; do
    command  # redirection is now optional
    [ $? -gt 127 ] && break
    sleep 1
done