将一个从子壳脚本返回到父脚本的值




我有两个shell脚本,例如script1.sh和script2.sh。我从script1.sh调用script2.sh。在Script2.SH中进行了一些评估,并基于设置标志的结果。现在,我需要将标志传递到script1.sh,以确定脚本1.sh应该继续执行还是退出。我不使用功能。当我导出标志时,在script1.sh中是空白的。
我现在的问题是如何从script2.sh中返回标志?
有帮助吗?有任何想法吗?分享的经验?

您可以打印结果并将其捕获在脚本1:

# Script 1
flag="$(./script2.bash)"

和:

# Script 2
[...]
printf '%sn' "$flag"

希望这有帮助=)

只需使用script2:

的退出状态
if script2.sh ; then
   echo Exited with zero value
else
   echo Exited with non zero
fi

在script2中使用 exit 0exit 1设置标志。

我希望您使用script2.sh的返回代码(SE语句exit {value}

例如。

./script2.sh

$?包含script2.sh的退出语句的返回值。

您不能在此处使用exportexport使该变量可用于后续子过程。它不能用来将值传达回父进程,因为您正在修改子过程中特定的变量副本。

相关内容

  • 没有找到相关文章

最新更新