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

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

  • 相关阅读:
    Android-IntentFilter
    Activity-Flag标志位
    设计模式杂谈
    Android-语言国际化
    Android 常见SD卡操作
    Android
    nginx,wsgi,django的关系
    mac安装python-mysql
    mac mysql命令行
    地址空间 32位和64位
  • 原文地址:https://www.cnblogs.com/horizonli/p/5251952.html
Copyright © 2011-2022 走看看