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

Bash 是否可以在同一脚本中检查上一步的输出,bash,sh,Bash,Sh,该脚本根据第一个脚本的输出运行两个脚本,我想选择是否运行该脚本。例如 Mainscript.sh /script1.sh… 有没有办法检查mainscript.sh中script1.sh的输出? 因为如果输出显示两个系统之间存在连接,那么我需要运行第二个脚本。我可以用python还是只用bash 您可以访问$?中的最后一个命令退出代码。还可以保存其输出 #!/bin/sh OUTPUT=`./script1.sh` echo $? echo $OUTPUT 一种常见的安排是编写脚本,以便于编

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

Mainscript.sh

/script1.sh…

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

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

#!/bin/sh

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

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

 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

使用
out=$(./script1.sh)
获取
script1
的输出,然后检查它。这些选项是标准的吗<代码>:)