我有这个脚本:
#!/bin/bash
function_1() {
function_2
printf world
}
function_2() {
printf "hello "
return 1
printf "not printed"
}
function_1
将打印hello world
。我想在第一个printf
之后停止在function_2中执行脚本。因此,脚本仅应打印hello
。我尝试了return 1
,但这只返回到function_1。我也尝试发送earlier answer中建议的终止信号,但是得到的结果与return 1
中的结果相同。
答案 0 :(得分:0)
我相信您希望内置exit
。来自Bash manpage:
exit
[ n ]使外壳退出,其状态为 n 。如果省略 n ,则退出状态为最后执行的命令的退出状态。在shell终止之前执行
EXIT
上的陷阱。
答案 1 :(得分:0)
您可以添加exit 0
以在期望的位置以0退出状态退出脚本:
function_2() {
printf "hello "
exit 0
...