运行测试直到失败并查看完整调试:Bash没有正确显示命令输出

时间:2014-01-03 17:24:45

标签: linux bash

我正在使用的库中发生非确定性崩溃,当库的完全调试打开时,这种情况发生的次数要少得多。我想反复运行它,直到程序崩溃,然后查看详细的调试(让我们假设unit-test-command with args调用我感兴趣的代码)

这是我脚本中的代码:

#!/bin/bash

while [[ $(unit-test-command with args) == 0 ]]
do
    echo ""
done

然而,不管命令的返回值如何(它崩溃时都是非零),它不仅仅会经历一次循环,而且它也只显示我的程序的输出,而不是输出库调试。

我做错了什么?

2 个答案:

答案 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