在 Bash 中,我希望能够编写如下内容:
tst() {
[ -z "$1" ] && die "No parameters provided!"
# do whatever
}
但我不能die
这样定义:
die() {
echo "$*"
exit 1
}
因为如果我的测试函数正在我当前的 shell 中运行(例如. ./file-with-function
),那么它会中止我当前的会话。我真正想要它做的是更多类似的事情:
tst() {
[ -z "$1" ] && echo "No parameters provided!" && return
}
但我想在单个函数调用中执行 echo 和 return 。有一个聪明的方法来做到这一点吗?