如何将另一个bash脚本或perl脚本的退出返回到另一个bash脚本

时间:2013-11-07 19:54:49

标签: bash

我在sample.sh脚本中调用run.sh脚本,需要获取sample.sh中run.sh的状态。我想知道如何做到这一点。

sample.sh

for var in ${testcases[@]}
do
  cd $unitdir
  run.sh
  echo " status $_ "
  if [[ $_ != 0 ]] ; then
    echo "******Test failed"
  else
    echo "******Test passed"
  fi
done;

run.sh脚本如下。如果测试脚本通过则返回0,如果失败则返回非零。

res=`diff $silverout $goldout`

if [ "${res}" != "" ] ; then
  exit 131
else
  exit 0
fi

但是当我打印run.sh的状态时,它是状态。你能告诉我如何捕获run.sh的状态吗? 感谢

1 个答案:

答案 0 :(得分:0)

您需要$?,而不是$_。使用$_替换脚本中的$?

另外,我认为echo是一个正常的命令,它具有自己的退出状态,所以你应该在它工作时注释掉或删除它。