如果测试一个变量是bash中使用与QUOT时设置;设置-o nounset" [英] Test if a variable is set in bash when using "set -o nounset"
本文介绍了如果测试一个变量是bash中使用与QUOT时设置;设置-o nounset"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下code退出并绑定变量的错误。如何解决这个问题,同时仍使用设置-o
nounset选项?
#!/斌/庆典设置-o nounset如果[! -z $ {} WHATEVER]。
然后回声哟
科幻回声无所谓
解决方案
#!/斌/庆典设置-o nounset
VALUE = $ {WHATEVER: - }如果[! -z $ {} VALUE]。
然后回声哟
科幻回声无所谓
在这种情况下,值
结束是,如果空字符串WHATEVER
未设置。我们使用 {参数:-word}
扩展,你可以查找在男人庆典
参数下扩张。
The following code exits with a unbound variable error. How to fix this, while still using the set -o
nounset option?
#!/bin/bash
set -o nounset
if [ ! -z ${WHATEVER} ];
then echo "yo"
fi
echo "whatever"
解决方案
#!/bin/bash
set -o nounset
VALUE=${WHATEVER:-}
if [ ! -z ${VALUE} ];
then echo "yo"
fi
echo "whatever"
In this case, VALUE
ends up being an empty string if WHATEVER
is not set. We're using the {parameter:-word}
expansion, which you can look up in man bash
under "Parameter Expansion".
这篇关于如果测试一个变量是bash中使用与QUOT时设置;设置-o nounset"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文