查看: 1652|回复: 2
打印 上一主题 下一主题

Shell运算符:Shell字符串运算符详解

[复制链接]
跳转到指定楼层
沙发
发表于 2014-8-10 09:09:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lucky80204 于 2014-8-10 09:11 编辑

字符串运算符

先来看一个例子:
  1. #!/bin/sh
  2. a="abc"
  3. b="efg"
  4. if [ $a = $b ]
  5. then
  6.    echo "$a = $b : a is equal to b"
  7. else
  8.    echo "$a = $b: a is not equal to b"
  9. fi
  10. if [ $a != $b ]
  11. then
  12.    echo "$a != $b : a is not equal to b"
  13. else
  14.    echo "$a != $b: a is equal to b"
  15. fi
  16. if [ -z $a ]
  17. then
  18.    echo "-z $a : string length is zero"
  19. else
  20.    echo "-z $a : string length is not zero"
  21. fi
  22. if [ -n $a ]
  23. then
  24.    echo "-n $a : string length is not zero"
  25. else
  26.    echo "-n $a : string length is zero"
  27. fi
  28. if [ $a ]
  29. then
  30.    echo "$a : string is not empty"
  31. else
  32.    echo "$a : string is empty"
  33. fi
复制代码
运行结果:
  1. abc = efg: a is not equal to b
  2. abc != efg : a is not equal to b
  3. -z abc : string length is not zero
  4. -n abc : string length is not zero
  5. abc : string is not empty
复制代码

字符串运算符列表
运算符 说明举例
= 检测两个字符串是否相等,相等返回 true。 [ $a = $b ] 返回 false。
!= 检测两个字符串是否相等,不相等返回 true。 [ $a != $b ] 返回 true。
-z 检测字符串长度是否为0,为0返回 true。 [ -z $a ] 返回 false。
-n 检测字符串长度是否为0,不为0返回 true。 [ -z $a ] 返回 true。
str 检测字符串是否为空,不为空返回 true。 [ $a ] 返回 true。



回复

使用道具 举报

地板
发表于 2014-8-10 15:29:44 | 只看该作者
忒有用,再接再厉
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表