写在前面
- 笔记是上课后整理的笔记,适合温习,不适合新手,希望对小伙伴有帮助
- 笔记内容包括:Shell一些常见情境
傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。——–王小波
一、Shell 基础知识
1.1 什么是 Shell
shell 是用户 与 Linux 内核之间的解释器
区分 shell 和 bash:shell是解释器的总称,bash是一类解释器。
Bash基本特性
查看当前在使用得解释器,不会显示临时切换的解释器,查看当前系统支持得解释器类型
临时使用其他的解释器,查看设置用户得解释器类型
标准输入与输出的重定向 ( >、>>、2>、2>>、&> )
正确输出重定向覆盖,> 等同于 1>
正确输出重定向追加, 1>> 等同于 1>>
错误输出重定向覆盖追加
错误或正确的输出重定向覆盖追加
管道 ( | )
Shell 执行命令的方式
- 交互式 (命令行)
- 人工干预
- 逐条解释执行、效率低
- 非交换式(脚本)
- 需要提前设计
- 批量执行、效率高
- 修改用户的 Shell 解释器:
二、脚本设计与运行
2.1 编写Shell 脚本
| 什么是 Shell 脚本 |
|---|
| 提前将可执行的命令语句写入一个文件 |
| 顺序执行 |
| 解释器逐行解释代码 |
第一个 Shell 脚本
| 编写一个 Hello Word脚本 |
|---|
| 新建文件 |
| 添加可执行语句 (命令) |
| 给文件添加 x 执行权限 |
规范脚本的构成
| 一个合格规范的脚本应该包含以下这些内容 |
|---|
| #! 脚本声明 (使用哪种解释器解释代码) |
| 注释信息 (步骤、思路、用途等),以 # |
| 可执行的语句 |
2.2 执行 Shell 脚本
| 方法一:需要为文件赋予可执行的权限 |
|---|
| 绝对路径执行 |
| 相对路径执行 |
| 方法二:不需要文件有可执行的权限 |
|---|
三、变量
3.1 自定义变量
以固定的名称,存放可以能有变化的值
定义变量
- 定义变量的格式:变量名=变量值
- 取消变量的格式:unset 变量名
| 注意事项: |
|---|
| = 两边不能有空格,不要使用关键字做变量名,如:ls、cd等; |
| 如果变量名已经存在则覆盖之前的变量值; |
| 变量名称有:字母/数字/下划线,不能以数字开始; |
查看变量
- 查看变量的语法格式:
3.2系统预设变量
| 变量类型 |
|---|
| 环境变量(变量名通常大写,有操作系统维护); |
| 位置变量(bash内置变量,存储脚本执行时的参数); |
| 预定义变量(bash内置变量,可以调用但是不能赋值或修改); |
| 自定义变量(用户自主设置) |
环境变量
| 环境变量 |
|---|
| 存储在 或 |
| 命令 可以列出所有环境变量 |
| 常见环境变量: |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!