Bash 使用函数测试变量unset
发布时间:2020-12-15 09:11:11 所属栏目:安全 来源:网络整理
导读:一个简单的Bash变量测试: ${varName:? "${varName} is not defined"} 我想重用这个,通过把它放在一个函数。 怎么样? 以下失败 ## Test a variable existstvar(){ val=${1:? "${1} must be defined,preferably in $basedir"} if [ -z ${val} ] then echo Z
一个简单的Bash变量测试:
${varName:? "${varName} is not defined"} 我想重用这个,通过把它放在一个函数。 以下失败 # # Test a variable exists tvar(){ val=${1:? "${1} must be defined,preferably in $basedir"} if [ -z ${val} ] then echo Zero length value else echo ${1} exists,value ${1} fi } 也就是说如果测试失败,我需要退出。
感谢lhunath的回答,我被引导到Bash人页面的一部分,我忽略了几百次:
When not performing substring expansion,bash tests for a parameter that is unset or null; omitting the colon results in a test only for a parame |