编程语言
- 机器语言
- 汇编语言
- 高级语言
- 静态语言:编译型语言
- 强类型(变量)语言
- 事先需要通过编译器,转换成计算机能够识别的机器语言
- 如:C 、C++、JAVA、C#...
- 动态语言:解释型语言
- 弱类型语言
- 不需要进行转换,边解释边执行
- 如:asp、.net、php、shell
- 面向对象语言:把需要完成的目标抽象的看成一个又一个的对象,再完成对象之间的动作
- 如:JAVA 、Python
- 面向过程:针对目录的过程为中心进行编辑
- 如:shell、C
- 静态语言:编译型语言
shell编程:脚本编程也是弱类型编程语言
变量:被命名的一块内存空间
- 强类型语言:变量在使用前,必须先声明,可能需要初始化
- 弱类型语言:变量在用时再声明,且不区分类型
内存:编址的存储单元
进程:正在运行中的程序任务
变量类型:实现定义好的数据的存储格式和存储长度
- 数值
- 整型
- 浮点型
逻辑运算
- &(与运算):两者之间进行与运算,两者都为真时结果才为真,一方为假,结果都为假,当第一位为假时,结果直接为假,不执行第二者
- |(或运算):两者之间进行或运算,只要一方为真,结果都为真,两者全为假,结果才为假,当第一位为真时,结果便为真,不执行第二位
- !(非运算):单运算,真结果非运算后为假,假结果非运算后为真
- 异或:两者相同则为假,两者不同才为真
变量赋值:将数据存放在改变量名下的内存空间
- 赋值方式:变量名=数据
Bash变量类型
- 环境变量
- 作用域为当前的shell进程和其子进程
- 本地变量
- 作用域为整个bash进程
- 局部变量
- 作用域为当前代码段
- 位置变量
- 格式为:$1,$2...
- 特殊变量(内置)
- 用来保存上一个命令的执行状态返回值
- 撤销变量:unset [变量名]
- 查看当前shell中变量(set):
- 查看当前shell中的环境变量
- printenv
- env
- export
- 查看当前shell中的环境变量
脚本在执行时会启动一个子shell进程
- 在命令中启动的脚本,会继承当前的shell环境变量
- 系统自动执行的脚本(非命令时启动),需要自我定义需要的各种环境变量
程序执行的返回值
- 程序执行结果
- 程序状态返回码
- 0 :正确执行
- 1-255 :错误执行,1、2、127为系统保留
- 软件设备存放位置:/dev/null
引用变量:
- $(变量名):引用其变量的值
脚本:
- 命令的堆砌,按实际需求,结合命令流程控制来实现的源程序
- #!/bin/bash :shell脚本的标准开头