“冒号”和“美元问号”可以组合起来检查脚本是否sh有参数并将其直接分配给感兴趣的变量:
cmd=${1:? "Usage: $0 {build|upload|log}"}
Run Code Online (Sandbox Code Playgroud)
有人可以一步步解释它是如何工作的,以及我在哪里可以找到其实现的详细信息吗?例如,我希望能够调用函数而不是打印到stderr.
help() {
echo $"Usage: $0 {build|upload|log}"
exit 1
}
cmd=${1:? help}
Run Code Online (Sandbox Code Playgroud)
为什么这是不可能的?