yorknong 发表于 2018-8-27 13:08:42

Shell脚本编程入门(1)条件判断


[*]  条件判断
  条件测试的表达式:
  [ expression ]#注意expression的两边一定要有一个空格,否则会报语法错误。
  ` expression ` #注意expression的两边一定要有一个空格,否则会报告语法错误。
  test expression
  命令的间逻辑关系:
  逻辑与: && 或者-a
  第一个条件为假时,第二条件不用再判断,最终结果已经有;
  第一个条件为真时,第二条件必须得判断;
  逻辑或: || 或者-o
  例如:
  如果用户user6不存在,就添加用户user6

  !>  id user6 || useradd user6
  控制语句的结构
  单分支if语句
  if 判断条件; then
  statement1
  statement2
  ...
  fi
  双分支的if语句:
  if 判断条件; then
  statement1
  statement2
  ...
  else
  statement3
  statement4
  ...
  fi
  多分支的if语句:
  if 判断条件1; then
  statement1
  ...
  elif 判断条件2; then
  statement2
  ...
  elif 判断条件3; then
  statement3
  ...
  else
  statement4
  ...
  fi
  条件判断的类型分为三种
  整数测试
  -eq: 测试两个整数是否相等;比如 $A -eq $B
  -ne: 测试两个整数是否不等;不等,为真;相等,为假;
  -gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;
  -lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;
  -ge: 大于或等于
  -le:小于或等于
  一个例子:
  INT1=63
  INT2=77
  [ $INT1 -eq $INI2 ]
  [[ $INT1 -eq $INT2 ]]
  test $INT1 -eq $INT2
  文件测试:
  -e FILE:测试文件是否存在
  -f FILE: 测试文件是否为普通文件
  -d FILE: 测试指定路径是否为目录
  -r FILE: 测试当前用户对指定文件是否有读取权限;
  -w...写权限
  -x...执行权限
  一个例子
  [ -e /etc/inittab ]
  [ -x /etc/rc.d/rc.sysinit ]
  字符测试
  字符测试:
  ==:测试是否相等,相等为真,不等为假
  注意:等号的两边必须有空格!!!!否则会报语法错误
  !=: 测试是否不等,不等为真,等为假
  >
  <
  -n string: 测试指定字符串是否为空,空则真,不空则假
  -z string: 测试指定字符串是否不空,不空为真,空则为假

页: [1]
查看完整版本: Shell脚本编程入门(1)条件判断