将函数调用分配给变量时终止 bash 脚本
Terminate a bash script when assigning a function call into a variable
我有以下代码来演示:
#!/bin/bash
function demo() {
echo "This is A"
exit 1
echo "This is B"
}
input=$(demo)
echo "${input}"
echo "This is C"
你可以看看如果我运行这个脚本它会打印出如下输出:
This is A
This is C
因为我有 exit 1
函数,脚本没有终止并打印最后一条语句 This is C
但是当我这样调用函数时:
#!/bin/bash
function demo() {
echo "This is A"
exit 1
echo "This is B"
}
demo
echo "${input}"
echo "This is C"
然后程序终止,并没有打印最后一条语句“This is C”。输出是:
This is A
是否有对此的解释以及如何在 exit 1
存在时强制脚本终止以及将函数分配给给定示例的变量。这意味着,在 exit 1
之后不应打印其他语句
变量赋值时可以查看退出状态,失败则退出主脚本
input=$(demo) || exit 1
我有以下代码来演示:
#!/bin/bash
function demo() {
echo "This is A"
exit 1
echo "This is B"
}
input=$(demo)
echo "${input}"
echo "This is C"
你可以看看如果我运行这个脚本它会打印出如下输出:
This is A
This is C
因为我有 exit 1
函数,脚本没有终止并打印最后一条语句 This is C
但是当我这样调用函数时:
#!/bin/bash
function demo() {
echo "This is A"
exit 1
echo "This is B"
}
demo
echo "${input}"
echo "This is C"
然后程序终止,并没有打印最后一条语句“This is C”。输出是:
This is A
是否有对此的解释以及如何在 exit 1
存在时强制脚本终止以及将函数分配给给定示例的变量。这意味着,在 exit 1
变量赋值时可以查看退出状态,失败则退出主脚本
input=$(demo) || exit 1