我正在使用的库中发生非确定性崩溃,当库的完全调试打开时,这种情况发生的次数要少得多。我想反复运行它,直到程序崩溃,然后查看详细的调试(让我们假设unit-test-command with args
调用我感兴趣的代码)
这是我脚本中的代码:
#!/bin/bash
while [[ $(unit-test-command with args) == 0 ]]
do
echo ""
done
然而,不管命令的返回值如何(它崩溃时都是非零),它不仅仅会经历一次循环,而且它也只显示我的程序的输出,而不是输出库调试。
我做错了什么?
答案 0 :(得分:4)
$(command)扩展到控制台输出,而不是返回代码。例如,uname返回0,$(uname)返回“linux”。
尝试:
while unit-test-command with args ; do : ; done
答案 1 :(得分:0)
#!/bin/bash
while [ true ];do
unit-test-command with args
if [ $? != 0 ];then
echo "failed"
break
fi
echo "didn't faile
sleep 10
done