==========1 混淆的-n  -z=================

-n 表示这个变量或者字符串是否不为空。
-z 表示这个变量或者字符串为空
上面这两句话中最重要的点是不通的
-n 关注的是判断的内容是否不为空  如果判断的内容不为空  则true  如果内容为空  则false
-z  关注的是判断的内容是否为空    如果判断的内容为空  则true  如果内容不为空  则false
====================2.如下代码========================
demo.sh
#/bin/bash
a="abc" if [ -z $a ]
then
echo "-z $a : string length is zero"
else
echo "-z $a : string length is not zero"
fi if [ -n $a ]
then
echo "-n $a : string length is not null"
else
echo "-n $a : string length is null"
fi

执行demo.sh返回如下

-z abc : string length is not zero           // -z判断为空为真,而a=abc  因此范围false
-n abc : string length is not null       // -n判断不为空为真,而a=abc 确实不为空

注意事项:在脚本demo.sh中if [ -z $a ]和if [ -n $a ]中的$a应该加上“”,以防止不必要的麻烦

============================附加内容===================================

a="abc"   [ $a ]  就是判断a是不是不为空  不为空则为true

if [ $a ]
then
echo "$a : string is not empty"
else
echo "$a : string is empty"
fi

返回结果

abc : string is not empty

======================收工=====================

if中的-n -z linux_Shell的更多相关文章

  1. 比如在vi中按ctrl+z

    比如在vi中按ctrl+z有个命令可以恢复会话,我忘了,大家谁记得?   分享到: 对我有用[0] 丢个板砖[0] 引用 | 举报| 编辑 删除 管理 回复次数:8   hellwolf hellwo ...

  2. 谈谈我对证券公司一些部门的理解(前、中、后台)[z]

    [z]https://blog.csdn.net/UniRong/article/details/79289947 文中对各大部门的分析都是从作者多年经历总结出来的有感之谈,尤其是前台的6大部门(经纪 ...

  3. shell条件判断中-a至-z的含义

    [ -a file ] ------- 如果file存在,返回值为真. [ -b file ] ------- 如果file存在且为块特殊文件,返回值为真. [ -c file ] ------- 如 ...

  4. JS中的prototype///////////////////////////z

    JS中的phototype是JS中比较难理解的一个部分 本文基于下面几个知识点: 1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个 ...

  5. CSS 在IE6, IE7 和IE8中的差别////////////////z

    CSS 在IE6, IE7 和IE8中的差别 关于浏览器的最离奇的统计结果之一就是Internet Explorer 版本6,7和8共存.截至本文,Internet Explorer各个版本总共占据了 ...

  6. Log4net中的RollingFileAppender z

    Log4日志组件的应用确实简单实用,在比较了企业库和Log4的日志功能后,个人觉得Log4的功能更加强大点.补充说明下,我使用的企业库是2.0版本,Log4net是1.2.1版本的. 在Log4net ...

  7. Log4Net在Windows服务中不能记录日志 z

    解决方案: 在Windows安装服务的“serviceProcessInstaller1”中修改Account属性为LocalSystem.见下图 后来查了一下这个Account属性 说白了还是权限的 ...

  8. C# 在SQLite数据库中存储图像 z

    C# 在SQLite数据库中存储图像 更多 0 C# SQLite   建表语句 CREATE TABLE [ImageStore]([ImageStore_Id] INTEGER NOT NULL ...

  9. GridControl 列中显示图片 z

    如何在 DevExpress.XtraGrid.GridControl 显示图片列. 方法很多,我把它们逐一写在附言中,方便大家分情况合理使用. 附言1  附言2  附言3  第 1 条附言  ·  ...

随机推荐

  1. C# ThreadStart和ParameterizedThreadStart区别

    ThreadStart: ThreadStart这个委托定义为void ThreadStart(),也就是说,所执行的方法不能有参数.ThreadStart threadStart=new Threa ...

  2. iOS:DKLiveBlur

    https://github.com/kronik/DKLiveBlur Sources of DKLiveBlur and Demo app to show live blur effect sim ...

  3. HTTP Analyzer——WEB调试代理

    HTTP Analyzer 是一个实时的web调试代理,如果你对Fiddler不陌生的话,HTTP Analyzer 就是和Fiddler具备一样功能的调试代理. 推荐这个软件而不推荐Fiddler的 ...

  4. PHP上传原理及操作实现

    关于PHP上传文件的函数类库,网上有许多封装很完善,大家直接拿来用就可以. 本文章只是说下关于上传原理和简单的上传操作,老鸟就无视了哈^_^~ 还有一些安全性判断比如:服务端限制能接收图片类型的文件, ...

  5. 运行jsp常犯的错误

    error 未启动tomcat服务 tomcat端口是否已改动 404: 未部署web应用 运行时URL输入错误 检查文件的存放位置(存放文件的目录无法对外引用,如WEB-INF , META-INF ...

  6. PHP 使用redis

    <?php /*从平台获取数据库名*/ $dbname = ""; /*从环境变量里取host,port,user,pwd*/ $host = ''; $port = ''; ...

  7. 【hadoop】 hadoop 单机伪分布式安装

    准备: 虚拟机(CentOS 6.9) JDK1.8 hadoop2.8.0 一.JDK安装及配置 rpm -ivh jdkxxxx 安装 配置环境变量 vim /etc/profile export ...

  8. 登陆时验证码的制作(asp.net)

    登陆时验证码的制作(asp.net) 1.显示样式: 2.新建一个页,Default2.aspx 3.在Page_load事件拷入如下代码 stringtmp = RndNum(4); HttpCoo ...

  9. Linq To EF (添加记录后获取添加的自增ID和叫“ID”的列不是自增列不让插入的问题)

    1:添加记录后,如何获取新添加的ID的值 比如,一个实体 TestEntity   对应一个表TestEntity(ID主键自增,Name,age),使用linq to ef   添加一条记录后,如何 ...

  10. SpringBoot------JPA连接数据库

    步骤: 1.在pom.xml文件下添加相应依赖包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=& ...