我有两个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 0
或 exit 1
设置标志。
我希望您使用script2.sh
的返回代码(SE语句exit {value}
)
例如。
./script2.sh
$?
包含script2.sh
的退出语句的返回值。
您不能在此处使用export
。export
使该变量可用于后续子过程。它不能用来将值传达回父进程,因为您正在修改子过程中特定的变量副本。