liujjun 发表于 2018-8-25 07:04:05

linux shell编程学习笔记(4)shell条件测试


  ——利用Shell的条件测试,可以为命令执行提供最直接的识别依据,为使用选择、循环等更加“智能化”的脚本结构创造条件。

1、基本用法
  test 条件表达式
  或
  [ 条件表达式]    //空格两边要有空格
  #echo$?
  0为真
  非0为假
2、文件状态判断
2.1 -e
  exist(存在)判断对象(文件或目录)是否存在,存在为真
  # [ -e /etc/yum ] && echo "yes"
  Yes
2.2 -d
  directory(目录)判断对象是否是否是目录,是则为真
  # [ -d /etc/yum ] && echo "yes"
  yes
2.3 -f
  file(文件)判断对象是否是文件是则为真
  # [ -f /etc/yum ] &&echo "yes"
  #
2.4 -r
  read(读)判断对象是否有可读权限,是则为真
2.5 -w
  write(写)判断对象是否有可写权限,是则为真
2.6 -x
  execute (执行)判断对象是否有可执行权限,是则为真
3、整数值比较
3.1相等
  -eqequal(相等)相等为真
3.2不相等
  -nenot equal (不相等)不相等为真
3.3大于
  -gtgreaterthan (比…大)
3.4小于
  -ltlesser than 比…小
3.5大于等于
  -gegreater or equal 大于或等于
3.6小于等于
  -le   lesser or equal 小于或等于
4、字符串比较
4.1 ==
  判断两个字符串是否相同,相同为真
  格式:字符串1== 字符串2
4.2 !=
  判断两个字符串是否不相同,不相同为真
  格式:字符串1!=字符串2
4.3 -z
  判断字符串的值是否为空,为空则为真
  格式:-z 字符串
  示例:
  # name=""
  # [ -z $name ] &&echo yes || echo no
  yes
  # name="a"
  # [ -z $name ] &&echo yes || echo no
  no
4.4 -n
  判断字符串的值是否不为空,不为空则为真
  格式:-n 字符串
5、逻辑比较
  ——有多个判断条件时使用逻辑比较
5.1 逻辑与 &&
  表达式1&& 表达式2&& 表达式3//三个表达式都成立则为真
5.2 逻辑或 ||
  表达式1|| 表达式2||表达式3//三个表达式有一个成立则为真

页: [1]
查看完整版本: linux shell编程学习笔记(4)shell条件测试