测试是否设置了多个变量
我想确保在脚本的某个点上,在访问source配置文件后,设置了几个变量,如果没有设置,将停止执行,以告知用户缺少的变量。我试过了 for var in $one $two $three ; do ... 但是,例如$two,如果未设置,则永远不会为执行该循环$two。我接下来尝试的是 for var in one two three ; do if [ -n ${!var} ] ; then echo "$var is set to ${!var}" else echo "$var is not set" fi done 但是,如果没有设置两个,我仍然会得到“两个设置为”而不是“两个未设置”。 如何确保设置了所有必需的变量? 更新/解决方案:我知道“设置”和“设置,但为空”之间存在区别。我现在使用(感谢/programming//a/16753536/3456281和此问题的答案)以下内容: if [ -n "${!var:-}" ] ; then …