发表于 2018-8-21 13:46:11

linux shell编程之if语句

  -eq 等于
  -ne 不等于
  -gt 大于
  -lt 小于
  -le 小于或等于
  -ge 大于或等于
  -z 空串
  = 两个字符相等
  != 两个字符不相等
  -n 非空串
  字符串通常用来检查用户输入,系统环境是否满足条件,在提供交互式操作的shell脚本中也可以判断用户输入位置参数是否符合要求,字符串的常用操作如下:
  文档比较运算符:
  -e filename假如filenanme存在,则为真
  -d filename假如filename为目录,则为真
  -f filename 假如filename为常规文档,则为真
  -L filename 假如filename为符号链接,则为真
  -r filename 假如filename可读,则为真
  -w filename 假如filename可写,则为真
  -x filename 假如filename可执行,则为真
  if 语句是循环语句中一种又称为控制语句,通过制定条件进行判断执行,只有条件成立的时候才会执行相应的代码,否则不会执行任何操作。
  *单分支if语句格式:
  if 条件测试操作
  then
  命令序列
  fi
  例子1
  vim a.txt
  #!/bin/bash
  if
  [ ! -d /media/cdrom ]
  thenk
  mkdir -p /media/cdrom
  fi
  wq!
  sh -x a.txt      x选项为查看调试过程
  例子2
  vim b.txt
  #!/bin/bash
  NUM=100
  if (($NUM > 4));then
  echo "this num is $NUM greater 4!"
  fi
  wq!
  sh -x b.txt
  *双分支if语句格式:
  双分支的选择结果,要求针对条件成立,条件不成立两种情况分别执行不同的操作
  语法结构
  if 条件测试操作
  then ( 条件成立执行)
  命令序列1
  else(否则,条件不成立,则执行)
  命令序列2
  fi
  例子3
  vim c.txt
  #!/bin/bash
  ping -c 3 -i 0.2 -w 3 $1
  if
  [ $? -eq 0 ]
  then
  echo "ip is up"
  else
  echo "ip is down"
  fi
  sh -x c.txt 172.0.0.1
  例子4
  vim b.txt
  #!/bin/bash
  word=$1
  grep ^$1$" /usr/share/dict/words -q
  if [ $? -eq 0 ];then
  echo "word is a dictionary word"
  else
  echo "word is not a dictionary word"
  fi

页: [1]
查看完整版本: linux shell编程之if语句