zoukankan      html  css  js  c++  java
  • Linux bash及shell-script

    bash
      提供了编程 环境:
       程序:指令+数据
       程序编程风格
        过程式:以指令为中心,数据服务于指令; C语言,shell-script
        对象式:以数据为中心,指令服务于数据; java语言
      shell程序:提供了编程能力,解释执行;
       程序的执行方式
        计算机:只能运行二进制指令;
        编程语言:
         低级:汇编语言;
         高级:C语言,JAVA语言,Python语言;
         编译:高级语言→编译器→目标代码;类似于跨语种演讲,听众手里有稿子;
         解释:高级语言→解释器→机器代码;类似于跨语种演讲,翻译人员同声传译(但是有一些区别:解释器会事先浏览一下整个代码文件,检查需要用到什么解释器解释“#!/bin/bash”);shell-script
      过程式编程:
       顺序执行:逐条执行;
       选择执行:if-then;
       循环执行:for,until,while;

    shell编程:过程式,解释执行;
        编程语言的基本结构:
         数据存储:变量,数组;
         表达式→语句;
    shell编程不像C语言,Java语言有各自的库文件能够调用,shell-script只是调用系统中现有的命令来实现一些自动化功能,减轻维护人员日常的维护难度;
      shell-script:遵循特定格式的 [ 具有可执行权限的 ] 文本文件
       格式:文件第一行(顶格写)必须指定执行这个脚本的解释器的路径;
        #!/bin/bash
      脚本语言在运行时,事先会把解释器(解释器是可运行的二进制程序)加载到CPU中运行,然后由解释器读取脚本文件中的每一行的命令,翻译成其对应的可执行的二进制代码,最后由CPU执行;
    编译成二进制格式之后,其文件开头包含一段标识其格式的代码,称为magic number(魔数);
       例如Windows的exe格式的魔数和Linux的ElF格式的魔数就是不同的;
      运行脚本:
       给予执行权限,通过具体的文件路径指定文件执行;
       直接运行解释器,将脚本作为解释器的参数运行;
      变量: 命名的内存空间;
       数据存储方式
        数值:
         整型
         浮点型:进行高精度的计算时可能会有误差;
         字符: ASCII(128)一个字符就可以包含;
       变量类型
        作用:
         数据存储格式; 整型,浮点型,字符;
         参与的运算; 算术运算,算术运算,增加、截取字符;
         表示的数据范围;0-9,a-z;
       编程程序语言
        强类型:定义变量时必须指明类型,参与运算必须符合类型要求;
         字符和数字相加,强类型就不支持;
        弱类型:无需指明类型,默认为字符型,参与运算时会自动做隐式类型转换;
         支持字符和数字相加,他会将其中一个转换成与另一个相同的类型;bash就是弱类型;
         bash:
          把所有要存储的数据统统当作字符处理;
          不支持浮点数,但是可以借助工具实现;
       逻辑运算
        true,false→1,0;
        与:有0则为假;&&
        或:有1则为真;||
        非:取反;!
        异或:相同则为假,不同则为真;
        短路运算
         与:
          第一个为0,则结果必为0;
          第一个为1,则第二个必需要参与运算;
         或:
          第一个为1,则结果必为1;
          第一个为0,则第二个必须要参与运算;

    注:根据马哥视频做的学习笔记,如有错误,欢迎指正;侵删

  • 相关阅读:
    1167E (尺取法)
    Report CodeForces
    Maximum Xor Secondary CodeForces
    Sliding Window POJ
    单调队列 Sliding Window POJ
    尺取法
    目标
    NOIP系列(续)
    NOIP系列
    近期目标
  • 原文地址:https://www.cnblogs.com/guowei-Linux/p/9787344.html
Copyright © 2011-2022 走看看