3.编程原理

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

程序 = 指令 +数据

1.编程介绍:

早期编程

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

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

  更趋近于硬件开发的工程师,要学习“汇编语言”;而“汇编语言”被厂家限制;C C++的底层就是“汇编语言”;

现在编程:

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

  编程语言的分类:

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

    解释型:逐行翻译,逐行执行 sehll python 

      bash +x filename.sh

    编译型: 一次编译,全部执行 c c++ c#

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

    面向过程编程语言    侧重与指令的编程语言

  编程语言的执行方式:

    【一行一行的】

    1、顺序执行

      一行一行的执行

    2、循环执行:*for(遍历)* while(循环条件) until(和while相反)

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

2、shell脚本语言介绍

  1、逻辑关系

    练习:

      #!/bin/bash
      # 添加用户

      if id $* &> /dev/null;then
        echo "这个用户存在"
      else
        for i in $*;do
          `useradd abc$i`
          echo "123456" | passwd --stdin "abc$i" &> /dev/null
          echo "添加成功"

        done
      fi

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

    2、缺点:没有库调用

    3、shell脚本包括:1、*命令*  2、变量(全局变量、本地变量、局部变量、传参)  3、逻辑关系

    shell脚本的第一句话:

      #!/bin/bash    --定义脚本解释器

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

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

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

 

    shell的执行:

      1、bash 命令来执行脚本程序

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

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

      2、授权 chmod +x 脚本名

        使用全路径执行脚本即可

  2、变量    是一段被命名的内存空间

    环境变量

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

    本地变量  local 在函数中使用,只在该函数中使用

    变量类型:

      数值型:

        整型:int

        浮点型:float

        布尔值:0 1 (真true假false)

      字符串:   

        普通字符及字符串

        数组

      编程语言的分类:

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

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

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

    传参

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

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

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

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

      $@  --  表示所有传参,所有传参以数组形式输出

    定义变量的格式:

      NAME=VALUE

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

      declare -i a=10  整数

        -a  数组

    变量命名:

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

      驼峰命名方式

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相反 存在为真,不存在为假

4、逻辑运算符

  与  &&   两个命令都是真才为真,一个为假就是假

  或  ||   有一个命令是真就是真,两个都是假才是假

  非  !=   

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

  [$? -eq 0] && exit 0 || exit 1

    

5、算术运算

  let 1+1

  expr 1+1

  $[1+1]  此时的[]不用加空格

  $((1+1))

  + - * / % ** 

  

 

  

  

    数值的判断用 -eq  字符串的判断用=😂

posted on 2019-08-13 14:03  埃希123  阅读(232)  评论(0编辑  收藏  举报

导航