Bash shell如何判断变量是否为NULL

时间:2019-04-29 03:17:19  来源:igfitidea点击:

在Bash shell脚本中可以快速测试变量是否为null或空值。
值需要把 -z或者 -n传给 test 和 if命令。

查看bash变量是否为null

  1. 如果变量没有设置或者是null或者是空字符串,则返回true if [ -z "$var" ]; then echo "NULL"; else echo "Not NULL"; fi
  2. 判断bash变量是否为NULL的另一种方法: [ -z "$var" ] && echo "NULL"
  3. 判断bash变量是否为NULL [[ ! -z "$var" ]] && echo "Not NULL" || echo "NULL"

Bash shell判断变量是否为空(NULL)

使用if命令的语法:

my_var="theitroad"
if [ -z "$my_var" ]
then
      echo "$my_var is NULL"
else
      echo "$my_var is NOT NULL"
fi

或者

my_var=""
if test -z "$my_var" 
then
      echo "$my_var is NULL"
else
      echo "$my_var is NOT NULL"
fi

检查bash shell变量是否为空的另一种方法

[ -z "$my_var" ] && echo "NULL"
[ -z "$my_var" ] && echo "NULL" || echo "Not NULL"

或者

[[ -z "$my_var" ]] && echo "NULL"
[[ -z "$my_var" ]] && echo "NULL" || echo "Not NULL"

使用! 取反

[ ! -z "$my_var" ] || echo "NULL"
[ ! -z "$my_var" ] && echo "Not NULL" || echo "NULL"
 
[[ ! -z "$my_var" ]] || echo "NULL"
[[ ! -z "$my_var" ]] && echo "Not NULL" || echo "NULL"

shell如何判断字符串是否为空

如果字符串长度大于0,则返回TRUE。

#!/bin/bash
var=""
if [ ! -n "$var" ]
then
	echo "##代码## - Error $var not set or NULL"
else
	echo "$var set and now starting ##代码## shell script..."#