shell -z 和 -n 区别

发布时间:2024年01月10日

-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

参考

【linux】 shell 之 字符串 -z, -n 判断

文章来源:https://blog.csdn.net/weixin_37646636/article/details/135510351
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。