当前位置: 代码网 > 服务器>服务器>Linux > shell -z和-n的使用区别

shell -z和-n的使用区别

2024年05月18日 Linux 我要评论
-n : 字符串长度不等于 0 为真 ,助记符no zero, example :var1=1;var2="" ;[ -n "$var1" ];echo $? 为 0 truevar1=1;var

-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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

  • Shell中sed编辑器的具体使用

    1.简介sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在…

    2024年05月18日 服务器
  • linux踢出远程登录用户命令(总结篇)

    linux踢出远程登录用户命令:查看当前自己的终端:[root@hadoop3 ~]# who am iroot pts/1 2013-01-22 10:45…

    2024年05月18日 服务器
  • shell脚本免交互的实现

    一、here document免交互:1.交互概述:交互:当计算机播放某多媒体程序的时候,编程人员可以发出指令控制该程序的运行,而不是程序单方面执行下去,程序在接受到编程人员相应的…

    2024年05月18日 服务器
  • Linux修改主机名的命令详解

    Linux修改主机名的命令详解

    引言通常在购买的服务器或者一些新安装的linux系统主机名是一个随机的字符串,但是如果说我们想标识一下每台主机的名称,或者是单纯有强迫症,我们就可以修改一下主机... [阅读全文]
  • 一文详解Linux du命令的使用方法

    一文详解Linux du命令的使用方法

    今天我们在生产环境中的服务器上收到了有关/var磁盘目录使用率较高的警报。为了解决这一问题,我们进行了/var目录下一些大文件的清理和转移操作。在查找那些占用磁... [阅读全文]
  • Linux Shell任务控制的实现示例

    Linux Shell任务控制的实现示例

    通常情况下运行脚本的方式就是以实时模式在命令行界面上直接运行,除此之外还有很多其他的运行脚本的方式,如后台运行,定时运行等等。除运行方式外,还可以对脚本程序的运... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com