shell -z和-n的使用区别

 更新时间:2024年01月18日 10:15:28   作者:张紫娃  
本文将深入探讨shell命令中的-z和-n选项,通过详细解释这两个选项的工作原理和用途,帮助读者更好地理解和掌握Shell脚本编写,感兴趣的可以了解一下

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

相关文章

  • Linux shell进行文件解压,复制和移动详解

    Linux shell进行文件解压,复制和移动详解

    Linux下进行文件的解压、复制、移动应该是最常见的操作了。尤其是我们在项目中使用大量的数据集文件时。本文我们就来细数用Shell进行文件操作的这些坑
    2022-05-05
  • shell脚本一键部署docker的实现步骤

    shell脚本一键部署docker的实现步骤

    作为一名经验丰富的开发者,我们经常需要使用Docker来快速部署各种应用,本文主要介绍了shell脚本一键部署docker的实现步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 详解 linux mysqldump 导出数据库、数据、表结构

    详解 linux mysqldump 导出数据库、数据、表结构

    这篇文章主要介绍了详解 linux mysqldump 导出数据库、数据、表结构的相关资料,需要的朋友可以参考下
    2017-05-05
  • Linux shell中改文件名的方法总结

    Linux shell中改文件名的方法总结

    这篇文章主要给大家介绍了关于Linux shell中改文件名的方法,在Shell中有多种方法可以来修改文件名,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • 并发数据库压力测试的shell脚本代码

    并发数据库压力测试的shell脚本代码

    并发数据库压力测试的shell脚本,有需要的朋友可以参考下
    2013-02-02
  • Linux xargs命令详细介绍

    Linux xargs命令详细介绍

    这篇文章主要介绍了 Linux xargs命令详细介绍的相关资料,xargs是给其他命令传递参数的一个过滤器,是构建单行命令的重要组件之一,需要的朋友可以参考下
    2017-01-01
  • Shell常见用法小记

    Shell常见用法小记

    本文简要介绍了下shell入门的一些用法,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • shell脚本实现定时检查应用状态步骤

    shell脚本实现定时检查应用状态步骤

    这篇文章主要为大家介绍了shell脚本实现定时检查应用状态步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Shell脚本中多命令逻辑执行顺序的方法详解

    Shell脚本中多命令逻辑执行顺序的方法详解

    Linux中可以使用分号“;”、双and号“&&”和双竖线“||”来连接多个命令,这篇文章主要介绍了Shell脚本中多命令逻辑执行顺序的方法,本文给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友参考下
    2020-03-03
  • shell 使用指定的分割符来分割字符串的方法

    shell 使用指定的分割符来分割字符串的方法

    这篇文章主要介绍了shell 使用指定的分割符来分割字符串的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05

最新评论