`
dengqsintyt
  • 浏览: 288475 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

shell中如何判断一个变量是否为空

 
阅读更多

        为了更高效的工作,还是感觉把每天工作的内容都记录下来,更好。虽然简单,但是以后再遇到的时候,直接拿过来用,来提高效率。

        今天帮一个同事写一个检测的脚本,有人问我怎么判断变量为空,记录如下:

 

        1.奇怪的写法。不加双引号" "导致的         

 

#!/bin/sh
#filename: example.sh
para=
if [ ! -n $para ]
then
  echo "IS NULL"
else
  echo "NOT NULL"
fi

          结果:NOT NULL

 

 

        2.变量通过" "引号引起来

 

#!/bin/sh
para=
if [ ! -n "$para" ]then
  echo "IS NULL"
else
  echo "NOT NULL"
fi

       结果是:IS NULL

 

 

        3.直接通过变量判断

 

#!/bin/sh
para=
if [ ! $para ]; then
  echo "IS NULL"
else
  echo "NOT NULL"
fi

        结果: IS NULL

 

 

        4.使用test判断

 

#!/bin/sh
dmin=
if test -z "$dmin"
then
  echo "dmin is not set!"
else  
  echo "dmin is set !"
fi

        结果:dmin is not set!

 

 

        5.使用""判断

#!/bin/sh 
dmin=
if [ "$dmin" = "" ]
then
  echo "dmin is not set!"
else  
  echo "dmin is set !"
fi

       结果:dmin is not set!

 

 

 

分享到:
评论

相关推荐

    shell判断一个变量是否为空方法总结

    shell中如何判断一个变量是否为空 shell编程中,对参数的错误检查项中,包含了变量是否赋值(即一个变量是否为空),判断变量为空方法如下: 1.变量通过” “引号引起来 #!/bin/sh para1= if [ ! -n $para1 ]; ...

    Shell脚本中判断输入变量或者参数是否为空的方法

    主要介绍了Shell脚本中判断输入变量或者参数是否为空的方法,本文总结了5种方法,并分别给出了代码实例,需要的朋友可以参考下

    Shell脚本中判断变量为数字的3种方法

    主要介绍了Shell脚本中判断变量为数字的3种方法,本文分别介绍了expr、sed两种方法,并给出了一个判断脚本,需要的朋友可以参考下

    浅谈shell循环中变量的作用域问题

    最近实现了一个shell脚本,功能简单来说就是从文件中按行读取然后将所有行拼接成一行写入一个文件,关键代码如下 path_all= cat $1 | while read line do if [ $path_all == ];then path_all=$line else path_...

    Shell脚本定义变量和重新赋值

    主要介绍了Shell脚本定义变量和重新赋值,以及变量命名规则,需要的朋友可以参考下

    Shell中特殊参数变量和特殊状态变量汇总

    $1:传递给Shell脚本的第1个参数,若没有则为空 $2:传递给Shell脚本的第2个参数,若没有则为空 $3:传递给Shell脚本的第3个参数,后续以此类推 ${10}:传递给Shell脚本的第10个参数,读取的参数位置大于等于10之后...

    shell 编程指南pdf

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    中文shell十三问--shell入门

    中文shell十三问--shell入门 第三种变量的替换方法是只有当变量已赋值时才用指定值替换形式: ${variable: +value} 只有变量variable已赋值时,其值才用value替换,否则不进行任何替换,例如: $ERROPT=A $...

    LINUX与UNIX SHELL编程指南(很全)

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    比较两个字符串是否相等的shell代码

    then 这里的关键有几点: 1 使用单个等号 2 注意到等号两边各有一个空格:这是unix shell的要求 3 注意到”$test”x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相等...

    LINUX与UNIX SHELL编程指南 高清PDF

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    Linux与unix shell编程指南

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    绝版经典《Linux与UNIX Shell编程指南》

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    adb shell可以按tab补全工具 命令行补全工具

    把adb.rar解压到c盘根目录下,确保解压的2个文件在C:\adb目录下。 第二鼠标右键打开计算机――>属性――>高级设置――>环境变量 1 然后找到系统变量点击"新建" 变量名输入android(当然取其他名字...

    linux shell 编程教程

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

Global site tag (gtag.js) - Google Analytics