如何从多个bash脚本中退出

  • 本文关键字:脚本 退出 bash bash
  • 更新时间 :
  • 英文 :


我有一个bash脚本,它正在调用多个bash剧本。

例如:

script1.sh

source script_data.sh
bash script2.sh
variables
code ...

script2.sh

source script_new.sh
...
bash script3.sh
varialbles ...
code ...

script_data.sh

someVariable=1
functions() ...
...

script3.sh

code ...
variables ...
exit 0

问题是,当我用退出0从script3退出时,代码将转到script2.sh

如何退出整个过程?

问候,

bash script2.sh替换为source script2.sh,并且script2.sh中的出口与script1.sh处于相同的过程中。

在选择此解决方案之前,请检查您的代码。在改变代码之后,script2.sh中的环境的改变也在script1.sh的环境中进行。

我个人非常喜欢使用函数。将附加的bash脚本重新定义为bash。关于bash风格的问题,我一直参考本指南。

这不起作用:source Script_1.sh
Script_1.sh

echo "Do stuff" # Some code here
source Script_2.sh
echo "Do more stuff" # Some more code here

Script_2.sh

echo "Do stuff" # Some code here
exit 0

这将起作用:source New_Script_1.sh
New_Script_1.sh

Function_2() { 
echo "Do stuff" # Some code here
return 0
}
echo "Do stuff" # Some code here
Function_2
echo "Do more stuff" # Some more code here

曾经Scrpit_2.sh的功能现在存在于Function_2中。你不必在最后使用return 0,如果你愿意,你可以使用最多8位(0-255(的任何数字。bash函数的返回值将存储在环境变量$?中,并且只能在函数调用后立即访问(后面的一行(。

最新更新