xinxuaw231 发表于 2018-8-21 09:17:22

0、什么是变量,什么是shell编程

shell编程:
  编译器:也叫解释器
  shell给我们提供另外一个功能:
  编程语言:将人类的语言转变成机器可以理解的语言
  机器语言(01代码),汇编语言(依然很低层,成长周期比较长,学习起来也比较困难)
  高级语言(尽管如此,它也不是人类的语言,但是最接近人类的语言)
  静态语言:
  编译型语言(有程序开发环境,不需要借助额外的二进制程序,直接写代码,写完之后需要一个编译器,将代码放到编译器就可以交给硬件形成一个独立运行的程序,我们就把他叫做静态语言)
  事先转换成可执行的格式
  所需要的重要的一个特征:强类型(变量)
  关键字:
  执行之前就要完全转换,事先转换成可以执行的格式程序
  像C,C++,JAVA,C#(不需要任何解释器,自我就能运行)
  动态语言:解释型语言on the fly
  (一个代码我们程序员写完以后,他不需要转换成二进制格式,而是有一个解释器,解释一条,执行一条,也就是在执行以后在进行转换)
  (通常)弱类型:边解释边执行
  像PHP,SHELL,Python(非常流行的,面向对象的,很多游戏脚本都是用python),perl(早前流行的:读音:po(破))
  bash:最易学,最容易上手的就是SHELL
  如果能学好python就是如虎添翼,添加了很多翼。
  perl面向过程的,虽然perl6加上了对象,但是现在由于各种原因也流行不起来
  事实上很多脚本是python研发的,在学习学了多年的计算机,都没有学过python,所以学校学的是脱节的。
  面向过程:相对开发小型的应用程序:shell,c
  把编程着眼点主要在于问题解决的过程本身
  面向对象:相对开发大型的应用程序:JAVA(纯面向对象语言),Python(纯面向对象语言),perl,c++
  含义:把整个我们要实现的项目抽象一个个对象,并定义对象之间的动作,就是可发出的操作来完成的,所以这个更适合开发大型程序
  不过任何工具都是双刃剑(菜刀可以杀人也可以切菜)
  要想理解编程,必须要理解变量
  变量(不断变化的量):是内存空间,命名的内容空间(就是不断变化的量,存储在某一个内存的存储空间,根据地址就可以找到这个)
  内存是存址的存储单元
  我们通过变量和内存地址相对应,所以我们看到的是变量,比如a,其实它对应的是一个内存的地址空间。
  什么是脚本?
  如何去写脚本:其实就是命令的堆砌,是按照实际需要,结合命令流程控制机制实现的源程序的脚本。
  Linux只能识别ELF格式去执行的(也就是脚本的第一行必须是#!/bin/bash,bash是解释器,/bin/bash 是解释器路径),这样才能然一个ASCII格式的文本可以被执行
  我们的文件几乎都是是ACISS格式的
  所以我们想运行脚本文件,必须是在文件的第一行用
  #!/bin/bash
  (而后再出现的#就是注释的#(也就是当做有效的组成部分))
  所以一执行这个文件,就会读到第一行,就会用bash的编辑器去运行
  并且要知道shell脚本的文件要用.sh后缀,就像是本地仓库要用.repo一样

页: [1]
查看完整版本: 0、什么是变量,什么是shell编程