-n : 字符串长度不等于 0 为真 ,助记符 no zero
, example :
var1=1;var2="" ;[ -n "$var1" ];echo $? 为 0 true var1=1;var2="" ;[ -n "$var2" ];echo $? 为 1 false .
-z : 字符串长度等于 0 为真 ,助记符zero , example :
var1=1;var2="";[ -z "$var1" ] ;echo $? 为 1 var1=1;var2="";[ -z "$var2" ] ;echo $? 为 0 true .
-z 和 -n 的一个使用场景
tree_rpm=$(rpm -qa | grep -i tree) // 查询当前tree已经安装的版本 if [ -n "${tree_rpm}" ]; then rpm -e tree // 如果查询到,则删除 fi if [ ! -z "${tree_rpm}" ]; then rpm -e tree // 如果查询到,则删除 fi
-n : 字符串长度 不等于 0 为真 助记符 no zero 类似java里的 isnotblank
-z : 字符串长度 等于 0 为真 助记符 zero 类似java里的 isblank
使用注意点
在 [] 中,使用 -z 或 -n 判断字符串长度时,变量要加 "" 或 []。
举例说明
# [ -z $a ] && echo yes || echo no yes # [ -n $a ] && echo yes || echo no yes # [ -z "$a" ] && echo yes || echo no yes # [ -n "$a" ] && echo yes || echo no no # [[ -n $a ]] && echo yes || echo no no # [[ -z $a ]] && echo yes || echo no yes
到此这篇关于shell -z和-n的使用区别的文章就介绍到这了,更多相关shell -z -n内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论