**基础
1.Shell是什么
Shell 是一个命令解释器,工作在操作系统的最外层,负责直接和用户进行对话,把用户的输入解释给操作系统,并且处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户,对话方式可以是交互的也可以是非交互的
为什么我们直接输入命令操作系统不识别呢? 计算机只能识别 0 and 1 也就是二进制程序 这时就需要有一个程序帮助我们进行翻译 变成计算机可以识别的二进制程序同时又可以把计算机生成的结果返回给我们
2.编程语言分类
编程语言分 低级语言和高级语言
低级语言
机器语言:二进制语言 汇编语言
高级语言
静态语言 编译型语言 比如 C C++ java 有自己的程序开发环境 不用借助额外的二进制程序,编写完成之后,需要编译器直接转换成二进制 就可以独立运行的 备注:GCC编译器 人类语言翻译成机器语言
动态语言 解释型语言 比如 Python Shell PHP 编写完成后转换成二进制格式 边解释边执行
3.Shell 脚本是什么
Linux命令和语句放在一个文件夹中,通过这个程序文件去执行,就可以称之为Shell脚本
Shell脚本执行方式
/root/test.sh 或者./test.sh #需要执行权限 bash test.sh 或者 sh test.sh source test.sh sh < test.sh 或者 cat test.sh | sh(bash)
**变量和运用
Shell变量
变量是Shell 传递数据的方法 代表每个值的符号名
变量设置规则
- 由数字 字母(大小写) 下划线组成 #区分大小写 数字不可以当开头
- 等号 = 为变量分配值 #使用中等号两边不能有空格
- 变量存储的数据类型 整数型和字符串值
- 变量名称前面加$ 符号进行调用
- 增加变量的值 进行变量的叠加 写法 "$变量名" ${变量名}
变量分类
按照变量作用分 - 用户自定义变量
- 环境变量 #系统操作环境相关的
- 位置参数变量 #用来向脚本传递参数或数据, 变量名不能自定义 作用是固定的
- 预定义变量 #Bash已经定义好的 变量名不能自定义 变量作用也是固定的
按照变量作用域分 - 局部变量 #Shell程序内部定义 仅限于作用他的程序其中包括(用户自定义变量 位置变量 预定义变量)
- 全局变量 #就是环境变量
- 没写完