zoukankan      html  css  js  c++  java
  • 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))

  • 相关阅读:
    使用JDBC连接MySql时出现:The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration
    Mysql Lost connection to MySQL server at ‘reading initial communication packet', system error: 0
    mysql-基本命令
    C# 监听值的变化
    DataGrid样式
    C# 获取当前日期时间
    C# 中生成随机数
    递归和迭代
    PHP 时间转几分几秒
    PHP 根据整数ID,生成唯一字符串
  • 原文地址:https://www.cnblogs.com/huangchuan/p/11348380.html
Copyright © 2011-2022 走看看