Ale*_*lls 2 shell bash shell-script
寻找替代方案:
local foo=""
if [[ ! -z "$foo" ]]; then
echo "foo is actually not empty."
fi
Run Code Online (Sandbox Code Playgroud)
有什么方法可以检查变量是否已定义(非空)而无需否定?
的反义词是,或者干脆没有运算符:-z word-n wordword
foo=x
if [[ "$foo" ]] ; then
echo "foo is not empty"
fi
Run Code Online (Sandbox Code Playgroud)
请注意,您不能以这种方式在空值和未设置值之间进行测试。您需${foo+x}要这样做:[[ "${foo+x}" = x ]] 对于任何设置值都为真,甚至是空字符串。
-z,-n也适用于标准[ .. ]测试,您不需要[[ .. ]]这些。这里的区别在于[ .. ]变量内需要被引用。
| 归档时间: |
|
| 查看次数: |
453 次 |
| 最近记录: |