编程语言分类
第一种
①机器语言
②汇编语言
③高级语言第二种
①静态语言(编译型语言)
强类型(变量再使用前,必须事先声明,甚至还需要初始化)
需要事先将代码全部用编译器编译成可执行格式
例如:C,C#,C++,java
②动态语言(解释型语言)
弱类型(变量用时声明,甚至不区分类型)
边用解释器解释边执行
例如:python,PHP,SHELL,perl,javaScript第三种
①面向过程
例如:C,shell
②面向对象
例如:java,python,perl,C++
变量
进程,内存,变量的关系
- 程序被执行变为进程,进程的数据在内存中,内存是有编址的存储单元,变量是被命名的内存空间。通过映射表,通过变量名就可以找到该内存地址,进而找到内存中存放的数据。
变量类型
- 分类
- 字符
- 数值
①整型
②浮点型
3.逻辑类型
- 作用:用来事先定义数据的存储格式和长度
⭐bash编程
bash的变量类型
- 环境变量
- 作用域为当前bash进程及其子bash进程
声明形式为:export VARNAME = VALUE
- 本地变量(局部变量)
- 本地变量:在当前bash进程中有效的变量(作用区域为当前bash进程)
声明形式为:VARNAME = VALUE - 局部变量:作用域为当前代码段
声明形式为:local VARNAME = VALUE
- 位置变量
- 符号:$1,$2,...
①./ 脚本名 参数1 参数2——在执行脚本时要传入参数
②在脚本中出现$1代表引用传入的第一个参数。 - shift :踢出前几个参数
shift :踢出1个
shift 2:替出2个
- 特殊变量
- $?:上一个命令的执行状态返回值
①程序执行时可能有两类返回值
0:正确执行
1-255:错误执行,1,2,127系统预留的 - $#:参数的个数
- $*:参数列表
- $@:参数列表
bash的变量的操作
-
变量赋值:VARNAME = VALUE(VALUE之间可以用”:“隔开)默认所有的值都是字符串
变量的值默认为字符串不进行运算.JPG
- 变量名称:
①只能包含字母,数字和下划线,并且不能以数字开头。
②不应该跟系统中已有的环境变量重名。
-
引用变量(变量替换) :$(VARNAME)
bash支持的引号
``——命令替换
""——弱引用,可以实现变量替换
''—— 强引用,不完成变量替换
- 撤销变量:unset VARNAME
- 查看当前shell中的变量:set(包括环境变量和本地变量)
- 查看当前shell中的环境变量:printenv,env,export
注意
使用变量赋值或变量运算时,运算符与数字或参数之间不能有空格
脚本
- 概念:命令的堆砌,按实际需要,结合命令流程控制机制实现的程序。
- 创建:nano 脚本名.sh
- 格式
①第一行:shebang(魔数)#!/bin/bash(解释器路径)
②注释行:以#开头的行,不执行 - 添加可执行权限:chmod +x 脚本名.sh
- 执行:./脚本名.sh
-
注意:
脚本执行时会启动一个子shell进程
①命令行中启动的脚本会继承当前shell环境变量
②系统自动执行的脚本(非命令行启动)就需要自我定义所需要的各种环境变量