• shell 脚本专家指南笔记


    1.设置verbose

    在脚本添加 set -x/v

    -x xtrace确认代码是否正确运行

    +x 不再显示verbose

    2.大小写转换

      $test=`echo $test|tr [a-z] [A-Z]`

    3.系统时间使用

    declare -a  DATE=(`date +"%S %M %k %d %m %Y"`)

    或使用 $(date +%Y%m%d) 年月日

           $(date +%H%M%S) 时分秒

           $(date +%s)从1970年以来的秒

    4.根据调试层次控制输出

    debug=2

    test $debug -gt 0 && “A little data”

    test $debug -gt 1 && “some more data”

    test $debug -gt 2 && “even some more data”

    5.ostype()

     或者$OSTYPE

    6.判断是否宕机

    #!/bin/bash

    set -x

    islive()

    {

       node=$1

       ping -n 3 $node >/dev/null>&1

       if [[ $? -eq 1 ]]

       then

       echo "this node is down!"

       else

       echo "this node is ok"

       fi

    }

    调用函数islive localhost

    7.source 命令会执行库文件的赋值

      或者使用 .

    8. shell 参数的传递

      $#参数个数

      $1第一个参数

      $n 第n个参数

      $*所有参数

    9.if 语句

      if [ ]

         then

      else

      fi

     

         与 -a

          或 -o

          非 ! 

    9.比较

         显式字符串比较 “ string1” = ”string2”

         数字比较 等于-qe 大于等于 -ge 小于等于-le 不等于-ne 大于-gt 小于-lt

    10.echo -e 输出转义字符

       echo  -e “\t test test !\n” 输出两个tab test test !回车换行

    11. egrep

    12. getopts

       geropts 命令又一系列有效选项激活,它分析确定哪个选项需要的参数。每次激活getopts时,它检查是否还有选项需要处理。如果有,它就获取下一个需要处理的选项(修改OPTIND的值),将其保存在环境变量(ARGS)并返回真,否则返回假。

       while getopts

    13.设置默认值

      test -z  $var && var=”default value ” ( test -z string 为零返回真)

      或者 [ -z ] && var=”default value” (test 等同 [ ] )

      最简洁 [ ! $var ] && var=”default value”

      $var || var=”default value”

      ${var:=”default value”}

      ${ var:”default value”} var没被定义同:=

       

      echo "${username:?$LOGNAME}" 若username未定义或空,则使用  $LOGNAME并退出,并显示脚本所运行的行数

      echo "${username?$LOGNAME}" username没被定义同:?

      ${username:-$LOGNAME} +在username未被或空定义时才使用$LOGNAME

      ${username:+$LOGNAME} +在username被定义时才使用$LOGNAME

     

     

     

    14.grep

    v  参数
    -I :忽略大小写 
    -c :打印匹配的行数 
    -l :从多个文件中查找包含匹配项 
    -v :查找不包含匹配项的行 
    -n:打印包含匹配项的行和行标 

    v   RE(正则表达式) 
    \ 忽略正则表达式中特殊字符的原有含义 
    ^ 匹配正则表达式的开始行 
    $ 匹配正则表达式的结束行 
    \< 从匹配正则表达式的行开始 
    \> 到匹配正则表达式的行结束 
    [ ] 单个字符;如[A] 即A符合要求 
    [ - ] 范围 ;如[A-Z]即A,B,C一直到Z都符合要求 

    转载请注明出处:http://www.cnblogs.com/tobecrazy/

    软件测试交流QQ群:312937087 we are QA!

  • 相关阅读:
    is running beyond physical memory limits. Current usage: 2.0 GB of 2 GB physical memory used; 2.6 GB of 40 GB virtual memory used
    saiku执行速度优化二
    saiku执行速度慢
    saiku 升级&备份&恢复
    saiku 展示优化第二步(要诀和技巧)
    saiku 无密码登陆
    saiku 展示优化
    saiku源代码安装
    结合使用saiku、mondrian workbentch建立多维查询报表
    浅析 mondrian 模式文件 Schema
  • 原文地址:https://www.cnblogs.com/tobecrazy/p/2942139.html
Copyright © 2020-2023  润新知