一、Shell基础概念
1、概念
shell可直译为“贝壳”,贝壳是动物作为外在保护的一种工具。可以理解为:Linux中的 shell就是 Linux内核的一个外层保护工具,并负责完成用户与内核之间的交互。
2、发展
1971年开发了第一个shell。
3、构成
解释器和编程语言。
二、命令和语法
1、变量
变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它。使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。
变量包含变量的名称和变量的值两个部分。
·自定义变量
这种变量是最常见的变量,由用户自由定义变量名和变量的值。(只在当前shell中生效,子shell中不生效)
·系统环境变量
这种变量中主要保存的是和系统操作环境相关的数据,比如当前登录用户,用户的家目录,命令的提示符等。环境变量的变量名可以自由定义,但是一般对系统起作用的环境变量的变量名是系统预先设定好的。
2、配置文件加载
Shell配置文件其实是一种特殊的Shell脚本,只不过没有用.sh来命名。 在Shell被启动时会选择性地执行配置文件中的Shell命令, 这些命令一般用于配置当前Shell下的工作环境, 通常包含一些别名(alias),PATH,编辑器(EDITOR)等配置。
Shell 配置文件可以分为系统级别的配置文件和用户级别的配置文件。 任何一种 Shell 都有用户级别的配置文件,以及对应的系统级别的配置文件。
3、运算符和引用
Shell运算符分为算数运算符、关系运算符、布尔运算符、逻辑运算符。
4、管道
Linux 管道使用竖线(|)连接多个命令,这被称为管道符。
管道的命令有如下特点:
命令的语法紧凑并且使用简单。
通过使用管道,将三个命令串联到一起就完成了远程 mysql 备份的复杂任务。
从管道输出的标准错误会混合到一起。
5、重定向
重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。
6、判断命令
命令判断会用到三个特殊符号分号(;),&&,||
7、分支语句
分支语句就是选择结构,它可以根据你所设置的不同的选项,输出对应你所设置的结果。
8、循环
9、函数
10、模块化
11、常用命令
三、执行过程和原理
1、执行
2、执行过程
3、shell展开
①大括号展开
②波浪号展开
③参数展开
④命令替换
⑤数学计算
⑥文件名展开
四、调试和前端集成
①调试
②VSCode配置
③前端集成