是否可以在同一脚本中检查上一步的输出

时间:2015-02-20 18:38:47

标签: bash sh

该脚本根据第一个脚本的输出运行两个脚本,我想选择是否运行脚本。例如

Mainscript.sh

./script1.sh....

有没有办法在mainscript.sh中检查script1.sh的输出? 因为如果输出两个系统之间有连接,那么我需要运行第二个脚本。我可以用python做,或者我只能用bash做吗?

2 个答案:

答案 0 :(得分:2)

一种常见的安排是编写脚本以便编程操作方便。具体而言,这意味着您的脚本应在成功时返回零退出代码,否则返回非零值。那么你要求的是一个简单的问题

 script1 && script2

或更复杂的情况

if script1; then
    echo "$0: countdown to takeoff" >&2
    script2
else
    echo "$0: trouble occurred" >&2
    script1 --reverse --undo --apologize
    script3 || make clean
    echo "$0: reverted everything" >&2
fi

答案 1 :(得分:0)

您可以访问$?中的最后一个命令退出代码。您也可以保存其输出。

#!/bin/sh

OUTPUT=`./script1.sh`
echo $?
echo $OUTPUT