Shell脚本和编程 | 青训营笔记

75 阅读3分钟

一、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配置

③前端集成