写在前面
- 笔记是上课后整理的笔记,适合温习,不适合新手,希望对小伙伴有帮助
- 笔记内容包括: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进行处理,非常感谢!