shell是允许用户输入命令的界面,linux中最常用的交互式shell是Bash。
一、什么是shell
shell就是用户和操作系统内核之间的接口,起着协调用户和系统的一致性和在用户与系统之间进行交互的作用。
二、shell的功能
shell最重要的功能是命令解释,从这种意义上理来说,shell是一个命令解释器。
Linux系统中所有可执行文件都可以作为shell命令来执行。将可执行文件作为一个分类如下表。
类别 | 说明 |
---|---|
Linux命令 | 存放在/bin,/sbin目录下 |
内指明了 | 处于效率考虑,将一些常用的命令的解释程序构造在shell内部 |
实用程序 | 存放在/usr/bin,/usr/sbin,/usr/local/bin等目录下的实用程序 |
用户程序 | 用户程序经过编译生成的可执行文件,也可以作为shelll命令运行 |
shell脚本 | 有shell语言编写的批处理文件 |
当用户提交了一个命令后,shell首先判断它是否为内置命令,若是,就通过shell内部的解释器将其解释为系统功能调用并转交给内核执行;若是外部命令或使用程序,在硬盘中查找命令并将其调入内存,再将其解释为系统功能调用并转交给内核执行。
在查找一个命令时分两种情况:
- 1、用户给出了命令路径,shell就沿着用户给出的路线查找,若找到则调入内存,若没有找到则输出提示信息。
- 2、用户没有给出命令的路径,shell就在环境变量OATH所指定的路径依次进行查找,若找到则调入内存,若没有找到则输出提示信息。
shell的功能:
- shell环境变量
- 正则表达式
- 输入/输出重定向和管道
三、shell环境变量
shell支持具有字符串值的变量
shell变量不需要专门的说明语句,通过赋值语句完成变量说明并予以赋值。
在命令行或shell脚本文件中使用$name的形式引用变量name的值
1.变量的定义和引用
在shell中,变量的复制格式如下:name=string
其中,name是变量名,它的值就是string。变量名以字母或下划线开头的字母、数字和下划线字符序列。
在变量名前加 引 用 变 量 的 值 , 引 用 的 结 果 就 是 用 字 符 串 s