【shell】判断一个变量是否为空

#!/bin/bash
argv="123"
if [ -z "$argv" ]
then
    echo "argv is empty"
else
    echo "argv is not empty"

说明,-z选项判断一个变量是否为空,如果为空则执行then部分,如果不为空,则执行else部分。

另外,在shell中建议给变量加上双引号,比如如果test的内容是argv="adsf adf 1234e"有空格,变量不加双引号执行if [ -z $argv ]这个,虽然结果是对的,但是会有个报错,提示too many arguments,原因就是test函数认为传入了三个变量判断,导致传入参数过多的报错。如果加了双引号,则传入的是一个变量,test函数就不会报错了。

原文地址:https://www.cnblogs.com/zhenglisai/p/6699755.html