成功最有效的方法就是向有经验的人学习!

shell中判断字符串为空的几种方法

1.-z判断

-z string
True if the length of string is zero.

if [ -z $i ]

then
echo "$i 是空字符串"
fi

2.加一个字符串再比较

if [ X$STR = "X" ]
then
echo "空字符串"
fi

3.直接使用变量判断

if [ "$variable" ]

then
echo "非空"
else
echo "空"
fi

 

if [ str1 = str2 ]      当两个串有相同内容、长度时为真
if [ str1 != str2 ]      当串str1和str2不等时为真
if [ -n str1 ]       当串的长度大于0时为真(串非空)
if [ -z str1 ]        当串的长度为0时为真(空串)
if [ str1 ]         当串str1为非空时为真

shell 中利用 -n 来判定字符串非空。

错误用法:

ARGS=$*

if [ -n $ARGS ]

then

print “with argument”

fi

print ” without argument”

不管传不传参数,总会进入if里面。

原因:因为不加“”时该if语句等效于if [ -n ],shell 会把它当成if [ str1 ]来处理,-n自然不为空,所以为真。

正确用法:需要在$ARGS上加入双引号,即”$ARGS”.

ARGS=$*

if [ -n “$ARGS” ]

then

print “with argument”

fi

print ” without argument”

赞(0) 打赏
未经允许不得转载:陈桂林博客 » shell中判断字符串为空的几种方法

大佬们的评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

全新“一站式”建站,高质量、高售后的一条龙服务

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏