yanglgzh 发表于 2018-8-23 08:35:01

SHELL编程-续

  shell脚本可以看做是命令的堆砌,通过结合命令流程控制机制实现。
  解释器 #!/bin/bash或/usr/bin/python 也称为shebang
  一般脚本需要赋予执行权限,也可以使用bash xxx.sh 来事先声明
  shell的条件判断可以分为
  1:整数测试
  2:字符串测试
  3:文件测试
  条件测试表达式
  [ expression ] #注意方括号与表达式之间有空格
  ` expression ` #也有这种格式的测试格式
  test expression
  整数比较
  -eq:两个整数是否相等 #equal
  -ne:两个整数是否不等 #not equal
  -gt:前一个数是否大于后一个数
  -lt:前一个数是否小于后一个数
  -ge:前一个数是否大于等于后一个数
  -lt:前一个数是否小于等于后一个数
  文件测试:
  -e /path/to/file :测试文件是否存在
  例如:[ -e /etc/inittab ] [ ! -e /etc/inittab ]
  -d /path/to/file :测试是否为目录
  -f /path/to/file :测试是否为普通文件
  -r /path/to/file 测试文件对当前用户是否有读权限
  -w /path/to/file 测试文件对当前用户是否有写权限
  -x /path/to/file 测试文件对当前用户是否有执行权限
  字符测试
  == :测试字符串string1是否与字符串string2相同
  != :测试字符串string1是否与字符串string2不相同
  >
  <
  -n: 测试字符串是否为空
  -z: 测试字符串是否为非空
  命令间逻辑
  逻辑与:&&
  逻辑非:!
  逻辑或:||
  条件判断,控制结构
  if 判断条件;then    #单分支
  statement1
  statement2
  ...
  fi
  if 判断条件;then
  statement
  ...
  else
  statement
  ...
  fi
  算数运算
  算数运算表达式:
  1:let 算术运算表达式例:let c=$A+$B
  2:$[算术运算表达式]   例:C=$[$A+$B]
  3:$((算数运算表达式))例:C=$(($A+$B))
  4:expr 算数运算表达式 #表达式中各操作数和运算符之间要有空格,而且要使用命令引用
  例:C=`expr $A + $B`
  在脚本中使用exit 可以退出当前shell
  exit # 自定义返回状态值
  #如果脚本没有定义状态退出码,最后一条命令的退出码即为脚本退出码
  多分支if语句
  if 判断条件;then
  statement
  ...
  elif 判断条件2;then
  ...
  ...
  else
  ...
  fi
  测试脚本
  bash -n xxx.sh #简单检查脚本语法错误。
  bash -x xxx.sh #可查看每个语句的执行结果,来检查错误。

页: [1]
查看完整版本: SHELL编程-续