zoukankan      html  css  js  c++  java
  • Linux--shell编程原理--03

    一、编程原理:

    1、编程介绍:

      计算机只能识别二进制指令

       程序=指令+数据

      根据服务的重心不同,我们分为面向过程编程,面向对象编程;

        a) 面向过程:侧重于指令的编程语言

        b) 面向对象:侧重于数据的编程语言

    2、编程语言的分类:

      高级语言、超高级语言需要翻译成计算机可读的语言(二级制指令)

             a) 解释型:逐行翻译,逐行执行(解释一行、执行一行)shell、python

             b) 编译型:一次编译,全部执行  C、C++、C#

    3、编程语言的执行方式:

      a) 顺序执行 : 一行一行的执行

      b) 循环执行 : for、while、until

      c) 选择执行(分支): if、case

    二、shell脚本语言介绍:

    1、优点:

      调用os(操作系统)的命令行,来实现所有功能;

    2、缺点:

      没有库调用(区分python)

    3、shell脚本包括

           a) 命令**很重要**

           b) 变量(全局变量、局部变量、本地变量、传参)

      c) 逻辑关系

    4、shell的第一句话: #!/bin/bash  --- 定义脚本解释器

      /etc/shells – 查看当前系统支持的shell程序

      echo $SHELL – 查看当前会话的shell程序

      /etc/passwd – 制定了用户默认支持的shell程序(/sbin/nologin)

     5、shell的执行:

      a) bash命令来执行脚本:

        -n 查看shell脚本的逻辑错误(注意单词的错误检查不出来)

        -x 逐行显示执行的脚本程序(方便排错)

      b) 授权: chmod u+x filename.sh   使用全路径执行脚本即可

    三、变量:一段被命名的内存空间

    1、环境变量---关于命令历史的变量:PATH是环境变量的一种

      ---环境变量查看:env

      ---查看更详细的环境变量:set

    2、局部变量 declare命令 ---定义变量类型

    3、本地变量 local 在函数中使用

    4、变量类型:

      a) 数值型:

          整型  int

        浮点型 float

         布尔型 boolean

      b) 字符串:

        普通字符及字符串

        数组

    5、编程语言的分类:

      强类型语言: --- 数值必须被定义变量类型,才能进行处理或运算

      弱类型语言: --- 编程语言可以自动识别变量类型

      【*多态*】一种数值具有多个属性,而最后使用的属性取决于和他进行运算的数据

    6、传参:

      $? :代表上一条命令的执行状态 0表示正确  1~255表示错误

      $1、$2 … ${10}:执行脚本命令后面传入脚本的数据,以空格为分隔符

      $#   :统计传参数量  ${$#}

      $* :表示所有的传参,以字符串的形式进行输出

      $@ :表示所有的传参,将所有的传参以列表的形式进行输出

    7、定义变量的格式:

      NAME=VALUE

      通过declare定义变量类型

        declare -i a=10 定义变量a为整型,value为10

        declare -a b  定义数组

    8、变量命名:

      a) 下划线的方式指定变量名称

      b) 使用驼峰命名方式

    四、test文件测试、条件判断

      在脚本中,我们需要进行语句分支;就是做判断;

      判断就是使用test命令来实现

    1、使用格式:

      a) test [option] file

      b) [条件语句]

    2、常见的test选项:

      a) 数值比较选项:

        -eq  等于

        -ne  不等于

        -gt  大于

        -ge  大于等于

        -lt  小于

        -le  小于等于

      b) 判断选项:

        -e  判读文件是否存在

        -f  判断是否为普通文件

        -d  判断是否为目录文件

        -L  判断是否为链接文件

        -r -w -x   判断是否具有 读 写 执行

      c) 关联选项:

        -o  或

        -a  与

        !  非

      d) 字符串判断:

        =   判断两边的字符串是否相等

        !=  不等于

        -n   判断字符串是否存在,存在为真,不存在为假

        -z    和-n相反 存在为假,不存在为真

    五、逻辑运算

           与 &&    两边的命令,都为真,结果才是真

           或 ||       两边的命令,一边为真,就是真,同时为假,才是假

           非 !=

      这个逻辑运算符,前后对接的都是单独存在的命令;

      例子: [ $? -eq 0] && exit 0 || exit 1

    六、算术运算

    1、let 1+1
        let a=1+1
        echo $a
    2、expr 1*1
        expr 1 * 10
    3、$[$1+10]
        a=$[2+3]
        echo $a
    4、$(($1/$2))
        a=$((3/2))
        echo $a
  • 相关阅读:
    IO文件
    eclipse快捷键
    异常
    多例模式
    单例模式
    访问控制权限
    系统常见包

    查找
    【avalon】offsetParent
  • 原文地址:https://www.cnblogs.com/gxnihao/p/11350870.html
Copyright © 2011-2022 走看看