03、编程原理

一、编程介绍

    早期编程:

        驱动  硬件默认是不能使用的;

            不同的厂家硬件设备之间需要进行指令沟通,我们需要驱动程序来进行“翻译;”

            更趋近与硬件开发的工程师,要学习“汇编语言”;而“汇编语言”被厂家限制;

            C、C++的底层就是汇编语言;

    现在编程:

        基于高级语言,以及超高级语言,更好的让程序员能够的实现编程功能

    编程序言的分类:

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

        解释型 -- 逐行翻译、逐行执行shell  python  JAVA

            bash +x  fileanme.sh

        编译型 -- 一次编译,全部执行  C语言  C++ C#  JAVA

        

        程序 = 指令 + 数据

        面向对象 -- 侧重于数据的编程语言

        面向过程 -- 侧重于指令

    编程语言的执行方式:

        【一行一行】

        1、顺序执行

        2、循环执行 -- *for(便利)*  while(循环条件)  until(和while相反)

        3、选择执行 -- 分支  if   *case*

    

    

例题:添加用户
   
if id $* &> dev/null;then echo "这个用户已经存在" else for i in $*;do useradd $i echo "123456" | passwd --stdin "$i" &> /dev/null echo "用户 $i 添加成功" done exit 0 fi   

二、shell脚本语言介绍

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

    缺点:没有库调用(区分Python)

    shell脚本包括:

          1、*命令(非常重要)*

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

          3、逻辑关系

   

    shell的第一句话!!!(必须写)

    #!/bin/bash -- 定义脚本解释器(普遍认为#为注释行,这里特殊)shebang

    #!/user/bin/python

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

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

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

    shell的执行:

        1、bash命令的执行脚本

            -n  查看shell脚本的逻辑错误(注意:单词写错可不管)

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

        2、授权 chmod +x filename.sh

            使用全路径执行脚本,即可

三、变量

    环境变量

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

    本地变量local在函数中使用

    变量类型:

        数值型:

            1、整型  int

            2、浮点型  float

            3、布尔值 0  1  (真   假) (True   False)

        字符串:

            1、普通字符及字符串

            2、数组

        编程语言的分类:

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

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

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

    传参

        $? -- 上一条命令执行的状态 0 正确   1-255  错误

        $1  $2 ... ${10} -- 命令后面传入脚本的数据,以空格为分隔符

        $# -- 统计传参数量

        ${$@# ???

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

        $@ -- 表示所有传参,将所有的传参以流标的形式输出

        【工作中要对所有的传参进行操作的时候,就要考虑$*和$@】

    

    定义变量的格式:

        NAME=VALUE

        我们通过命令declare定义变量类型

        declare -i   整数  int()  str()

        declare  -a  数组

    变量命名:

        1、下划线的方式指定变量名称

        2、驼峰命名方式

四、Test文本测试,条件判断

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

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

    使用格式:

        1、test  [option]  file

        2、[条件语句]

    

    常见的test选项: 

                比较选项:
                        -eq  等于
                        -ne  不等于
                        -gt   大于
                        -ge  大于等于
                        -lt   小于
                        -le   小于等于
                判断选项:
                        -e 判断文件是否存在
                        -f  判断是否为普通文件
                        -d  判断是否为目录文件
                        -L   判断是否为链接文件
                        -r -w -x   判断文件是否具有 读 写 执行的权限
                关联选项:
                        -o 或
                        -a 与
                        !   非
                字符串判断:
                        = 判断俩边的字符串是否相同
                        !=  不等于
                        -z  判断字符串长度是否为0
                        -n  和 -z相反,存在为假,不存在为真

五、逻辑运算

        与         && :俩边的命令,都为真,结果才是真
        或         ||     :俩边的命令,一遍为真,就是真,同时为假,才是假
        非         !=   :

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

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

六、算数运算

        *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

+ - * / % **

猜你喜欢

转载自www.cnblogs.com/cnxy168/p/11354643.html
今日推荐