hylan:shell脚本鸡肋--结构化命令

  1. if-then语句不能测试命令退出状态码之外的条件。
  2. test命令提供了在if-then语句中测试不同条件的途径。
  3. if test condition;then commands;fi
  4. 无需在if-then语句中声明test命令  if [ condition ];then commands;fi
  5. test命令可以判断三类条件:数值比较(bash shell只能处理整数) 字符串比较(将所有的标点和大小写情况都考虑在内)  文件比较(shell编程中最为强大、也是用得最多的比较形式)
  6. 标准数学运算比较功能(equal、greater than、less than):n1 -eq n2    检查n1是否与n2相等    -ge 大于或等于     -gt 大于     -le 小于或等于     -lt 小于     -ne 不等于
  7. 标准字符串比较:str1 = str2  检查str1是否和str2相同    != 不同    < 小    > 大    -n str1 是否非0    -z str1 是否为0
  8. 文件比较功能: -d file 是否存在并是目录    -e 存在    -f 存在并是文件    -r 存在并可读   -s 存在并非空    -w 存在并可写    -x 存在并可执行    -O 存在并属当前用户所有    -G 存在并默认属组与当前用户相同    file1 -nt file2 检查file1是否比file2新    file1 -ot file2 检查file1是否比file2旧
  9.   if-then 格式:
  10. if command
  11. then
  12.       commands
  13. fi
  14.   if-then-else 格式:
  15. if command
  16. then
  17.       commands
  18. else
  19.       commands
  20. fi
  21.   嵌套 if-then 语句 的改进  elif 使用另一个 if-then 语句延续 else 部分 格式:
  22. if command1
  23. then
  24.       commands
  25. elif command2
  26. then
  27.      commands
  28. elif command3
  29. then
  30.       commands
  31. ...
  32. fi
  33.   case 语句格式:
  34. case variable in
  35. pattern1 | pattern2) commands1;;
  36. pattern 3) commands2;;
  37. *) commands;;
  38. esac
  39. 可以通过|(竖线)操作符在一行中分隔出多个模式,星号会捕获所有与已知模式不匹配的值。
  40. 方括号[ ] 是与 test命令 同义的特殊bash命令。
  41. 双括号(( )) 使用另一种操作符进行 高级数学运算。
  42. 双括号命令更多的运算符号: val++ 后增     val-- 后减    ++val 先增    --val 先减    ! 逻辑求反   ~ 位求反    ** 幂运算    << 左移位    >> 右移位    & 位布尔和    |  位布尔或   && 逻辑和   || 逻辑或
  43. 双方括号[[ ]]命令允许高级字符串模式匹配运算。例如: [[ $USER == r* ]]
  44. [ $val1 \> $val2 ]  方括号中>需要转义    VS    (( $val1 ** 2 > 90 ))  双括号中>不需要转义。













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值