Shell编程

2020-10-25  本文已影响0人  RalapHao

变量

  1. 运算结果

    1. `ls -al` = $( ls  -al)
      
    2. 系统变量

      export A=a

      source 配置文件

      echo $变量名

  2. 位置参数变量

    1. n:0 命令本身,1-9:参数
    2. $*:所有参数,整体
    3. $@:所有参数、但是区分对待
    4. $#:参数个数
  3. 预定义变量

    1. $$:当前进程ID
    2. $!:后台运行的最后一个进程号
    3. $?:最后一个命令返回的状态
  4. 运算符

    1. ((a+b))、[a+b]
    2. expr: a+b
  5. 条件判断

    1. =:字符串比较
    2. -lt:小于
    3. -le:小于等于
    4. -eq:等于
    5. -gt:大于
    6. -ge:大于等于
    7. -ne:不等于
    8. -r:有读的权限
    9. -w:写的权限
    10. -x:执行的权限
    11. -f :普通文件
    12. -e:文件存在
    13. -d:文件存在并是一个目录
  6. 流程控制

    if [ "a" = "b"]
    then
         echo "eq"
    elif[ "a" = "a" ]
    fi
    
    case $变量名 in
    "v1")
    ;;
    "v2")
    ;;
    "v3")
    ;;
    *)
    ;;
    
    for 变量 in v1 v2 v3
    do
    done
    
    while [条件判断]
    do 
    done
    
  1. 控制读入

    1. read
    2. -p:指定读取时的提示
      1. -t:指定读取等待多少秒
      2. 变量:赋值
  1. 函数

    1. 系统函数

      1. basename

        获取完整路径最后/的部分,常用作获取文件名

        basename /aa/bb/cc/ee.sh .sh  -> ee
        basename /aa/bb/cc/ee.sh  -> ee.sh
        
      2. dirname

        获取获取完整路径/前面的部分

      3. getopts

        while getopts "bfh:t:" opt; do
            case "${opt}" in
              b)
                echo "-b"
                ;;
              f)
                frontend=true
                echo "-f"
                ;;
              t)
                host=$OPTARG
                echo "-f : host = " + $host
                ;;
              *)
                usage
                ;;
            esac
          done
        
        
  1. 自定义函数

    function fname[()]
    {
      
    }
    
上一篇 下一篇

猜你喜欢

热点阅读