Linux 下判断字符串是否为空,有一个大坑!
首先想到的两个参数:
-z
:判断 string 是否是空串-n
:判断 string 是否是非空串
常规错误做法
1 |
|
看上去没毛病,但是!
输出错误结果:1
2
3root@james-desktop:~# ./zerostring.sh
STRING is empty
STRING is not empty
发现使用 -n
判断时,竟然出现错误!
正确做法
1 |
|
1 | root@james-desktop:~# ./zerostring.sh |
这里,我们得出一个道理,在进行字符串比较时,用引号将字符串界定起来,是一个非常好的习惯!
参考:
https://www.cnblogs.com/cute/archive/2011/08/26/2154137.html