zoukankan      html  css  js  c++  java
  • if中的-n -z linux_Shell

    ==========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

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

  • 相关阅读:
    ubuntu远程windows桌面
    spring boot 给返回值加状态 BaseData
    spring boot 拦截异常 统一处理
    IntelliJ IDEA spring boot 远程Ddbug调试
    IntelliJ IDEA 常用插件
    spring boot 请求地址带有.json 兼容处理
    spring boot 接口返回值去掉为null的字段
    spring boot 集成disconf
    Spring boot 自定义拦截器
    Linux下安装MySQL
  • 原文地址:https://www.cnblogs.com/horizonli/p/5251952.html
Copyright © 2011-2022 走看看