在编写脚本的时候,经常会遇到带参数运行的时候,这个时候不仅要判断参数的内容,为了纠错,还要判断字符串是否为空,可以这么判断。
使用 -z “$STRING" 来判断,
脚本如下
#!/bin/sh
STRING=
if [ -z "$STRING" ]; then
echo "STRING is empty 1"
fi
if [ -n "$STRING" ]; then
echo "STRING is not empty1"
fi
STRING=
if [ -z $STRING ]; then
echo "STRING is empty2"
fi
if [ -n $STRING ]; then
echo "STRING is not empty2"
fi
执行。
root@fetmx6ull-s:~/6# sh str_is_null.sh
STRING is empty 1
STRING is empty2
STRING is not empty2
我们可以看到,不带双引号的判断是不正确。必须使用带双引号的 -z,-n。