众所周知,在 bash 中我们可以使用 return 0 来退出函数,0 是 std 0
function fun1(){
return 0
}
但是我们也可以在脚本本身而不是函数中使用 return 0 吗?
作为
#!/bin/bash
function fun1(){
return 0
}
function fun2(){
return 0
}
function fun3(){
return 0
}
.
.
.
.
.
fun1
fun2
fun3
echo " script ended "
return 0
答案1
if [[ "$0" == "${BASH_SOURCE[0]}" ]]; then
# I'm the "main" script
exit
else
# I'm being sourced
return
fi
答案2
是的,如果该脚本是来源的话,你可以。您可能想要执行此操作而不是退出,因为如果您使用 exit,它也会从您正在获取的 shell 中退出,而 return 则不会。如果直接执行脚本,它将引发该return
行错误并继续执行脚本的其余部分。