zoukankan      html  css  js  c++  java
  • shell脚本编程原理

    1、shell脚本语言介绍
        优点:调用os(操作系统)的命令行,来实现所有功能
        缺点:没有库调用(区分python)
        变量:全局变量、局部变量、本地变量、传参
      /etc/shells/ --查看当前系统支持的shell程序
      echo $SHELL -- 查看当前会话的shell程序
      /etc/passwd -- 制定了用户默认支持的shell程序
       shell的执行:
          1)bash命令来执行脚本
              -n 查看shell脚本的逻辑错误(单词查不出)
              -x 逐行显示执行的脚本程序(方便排错)
          2)授权 chmod +x filename.sh
            使用全路径执行脚本,即可./filename.sh

    2、变量
        环境变量($HOME、$SHELL、)    
        局部变量 declare命令 -- 定义变量类型
        本地变量  local在函数中使用
        变量类型:
            数值型:int
            整型、浮点型(float)、布尔值(true/false)
            字符串:
            1)普通字符及字符串
            2)数组
        编程语言的分类:
            强类型语言 -- 数值必须被定义,才能进行处理或运算
            弱类型语言 -- 编程语言可以自动识别变量类型
            【多态--一个数据具有多个属性,而最后使用的属性取决于和他进行运算事物数据】
        传参
            $? ---上一条命令执行状态(0 正确 1-255错误)
            $1 $2 .. ${10}  --- 命令后面传入脚本的数据,以空格为分隔符
            $# --- 统计传参数量   ${$#}:表示传参的最后一个数
            $*  --- 表示所有传参,所有传参以字符串形式输出
            $@ --- 表示所有传参,所有传参以列表形式输出
        定义变量格式:
            NAME=VALUE(一个等号是赋值,两个等号是判断)
            我们通过命令declare定义变量类型:
            declare -i 整数
            declare -a 数组
        变量命令:
            1)下换线方式指定变量类型
            2)驼峰式命名方式

    3、test文本测试、条件判断
          在脚本中,我们需要进行语句分支;说白了,就是要做判断
          判断就是使用test命令来实现;
          使用格式:
            1)test[option]file
            2)[ 条件语句 ] :【 使用比较选项、判断选项和关联选项时用[] 】
          常见的test选项:
             比较选项:
             -eq -ne -gt -lt -ge -le
            判断选项:
            -f判断是否为普通文件
            -d判断是否为目录文件
            -L判断是否为连接文件
            -r -w -x判断文件是否具有读写执行权限
            关联选项:
            -o 或
            -a 与
            ! 非
            字符串判断:
                = 等于
               !=不等于
               -z 判断字符串长度是否存在(真)
               -n 存在为假,不存在为真

    4、逻辑运算
        与:&&
        或:||
        非:!=
        这个逻辑运算符,前后对接都是单独存在的命令;
        [ $? -eq 0 ]&& exit 0 || exit 1
    5、算术运算
        *let 1+1
             let a=1+1
             echo $a
        expr 1*1
            expr 1 * 10
        *$[$1+10]
            a=$[2+3]
            echo $a
        $(($1/$2))
             a=$((3/2))
             echo $a
     +加 -减 *乘 /除 %取余 **次幂

  • 相关阅读:
    SharePoint 2019
    SharePoint 2019 图文安装教程
    SharePoint 2016 服务器部署(七)SharePoint 和OOS 集成
    如何将域中的AD数据导入SharePoint
    SharePoint 2016 图文安装教程 后面有激活序列号、密钥分享
    Github上优秀的.NET Core项目
    SQL Server删除/创建复制订阅失败,报15517错误问题的处理
    vue-devtools 开发工具的安装
    laravel 查询数据toArray内层无法转换的问题
    KindEditor 增加html标签
  • 原文地址:https://www.cnblogs.com/hmm01031007/p/11348255.html
Copyright © 2011-2022 走看看