在bash脚本中,我需要运行一个命令,直到返回值大于127.
现在,我正在子shell中运行命令,输出到/ dev / null并打印返回码以便能够将它与测试进行比较:
while [ `command >/dev/null 2>&1; echo $?` -lt 128 ]; do sleep 1; done
是否有一个优雅的解决方案?看起来本机支持的唯一用例是测试RC == 0或不是。
答案 0 :(得分:4)
我认为在退出代码大于127时启动无限循环并中断会更优雅。
while true; do
command # redirection is now optional
[ $? -gt 127 ] && break
sleep 1
done