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

Is it possible to check the output of previous step in the same script

脚本 运行 有两个脚本取决于第一个脚本的输出,我想选择 运行 脚本与否。例如

Mainscript.sh

./script1.sh....

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

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

#!/bin/sh

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

一种常见的安排是编写脚本,以便于程序化操作。具体来说,这意味着您的脚本应该 return 成功时退出代码为零,否则为非零。那么你要求的就是

的简单事情
 script1 && script2

或在更复杂的情况下

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