• Xshell学习第三课:编程原理


    1. 编程介绍

    驱动:硬件设备默认是不能使用的(cpu控制硬件)提供不同厂家啊硬件设备之间需要进行指令沟通,我们需要驱动程序来进行”翻译”;

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

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

    程序 = 指令 + 数据

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

    面向过程>>>>>>侧重于指令

    面向对象>>>>>>侧重于数据

    根据程序翻译成二进制指令的方式不同,分为低级语言高级语言

    低级语言:汇编语言

    高级语言:高级语言和超高级语言需要‘翻译’成计算机可读的语言

    解释型—逐行翻译,逐行执行:shell python

    Bash -x filrname.sh

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

    编程语言的执行方式:[一行一行]

               1,顺序执行

    2.循环执行—for while unitl(和while相反)

                       3.选择执行—分支if case*

    1. Shell脚本语言介绍

    Shell语句是面向过程的,侧重于指令集;

    Shell语句的基本结构组成:

    1. 命令
    2. 数据----变量(全局变量,局部变量,本地变量,传参)
    3. 逻辑关系

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

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

    #!/usr/bin/python

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

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

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

    Shell的执行:

           --bash命令来执行脚本

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

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

           --授权shmod +x filename.sh

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

        Shell没有内嵌函数,没有函数库的调用

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

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

    1. 变量

    环境变量

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

    本地变量 local 在函数中使用

     变量类型:

          数值型:整形(int),浮点型(float),布尔值(True,False)

          字符串:普通字符及字符串,数组

    编程语言的分类:

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

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

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

    传参:

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

          $1  -----

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

          ${10} -----

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

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

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

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

    定义变量格式:

           NAME=VALUE

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

    --declare -i(整数) a = 10 int() str()

    --declare -a (数组)

    变量命名:

    1. 下划线的方式指定变量名称
    2.  驼峰命名方式
    3. Test文件测试,条件判断

    在脚本中我们需要进行语句分支;说白了就要做判断,而判断就是使用test命令来实现的;

    使用格式:

              1.test [option] file

              2.[ 条件语句 ]

    常见的test选项:

    --比较选项:-eq等于

                -ne不等于

                -gt大于

                -ge大于等于

                -lt小于

                -le小于等于

    --判断选项:-f判断是否为普通文件

                -d判断是否为目录文件

                -L判断是否为连接文件

                -r -w -x 判断文件是否具有读写执行权限

    --关联选项:-o或

                -a与

                 !非

    --字符串判断:

                = 判断连边的字符串是否相同

                != 不等于

                -z  判断字符串是否存在

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

    1. 逻辑运算

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

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

    非     !=

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

    1. 算术运算

            *let 1+1

            --expr 1*1

            *$[$1+10]

            $(($1))

  • 相关阅读:
    简单计算器--hdu1237(栈的运用)
    Bone Collector
    Red and Black---hdu1312(dfs)
    RTMP规范简单分析
    FFMPEG中最关键的结构体之间的关系
    面向对象与形而上学
    洛谷 P2913 [USACO08OCT]车轮旋转Wheel Rotation
    洛谷 P1889 士兵站队
    洛谷 P1885 Moo
    洛谷 P1683 入门
  • 原文地址:https://www.cnblogs.com/huangchuan/p/11348380.html
Copyright © 2020-2023  润新知