if中的-n -z linux_Shell

Posted my_cool2007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

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

 

以上是关于if中的-n -z linux_Shell的主要内容,如果未能解决你的问题,请参考以下文章

linux_shell_传递参数

Linux_shell 学习

你该认识这样的Linux_shell函数使用案例

这个代码片段有啥作用?

JavaScript - 代码片段,Snippets,Gist

linux_shell 编程学习-初识she'll