if中的-n -z linux_Shell
Posted my_cool2007
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了if中的-n -z linux_Shell相关的知识,希望对你有一定的参考价值。
==========1 混淆的-n -z=================
-n 表示这个变量或者字符串是否不为空。
-z 表示这个变量或者字符串为空
-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的主要内容,如果未能解决你的问题,请参考以下文章