关于Linux中shell 等知识的一些笔记

写在前面


  • 笔记是上课后整理的笔记,适合温习,不适合新手,希望对小伙伴有帮助
  • 笔记内容包括:Shell一些常见情境

傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。——–王小波


一、Shell 基础知识

1.1 什么是 Shell

shell 是用户 与 Linux 内核之间的解释器

区分 shell 和 bash:shell是解释器的总称,bash是一类解释器。

Bash基本特性

查看当前在使用得解释器,不会显示临时切换的解释器,查看当前系统支持得解释器类型

临时使用其他的解释器,查看设置用户得解释器类型

关于Linux中shell 等知识的一些笔记

标准输入与输出的重定向 ( >、>>、2>、2>>、&> )

正确输出重定向覆盖,> 等同于 1>

正确输出重定向追加, 1>> 等同于 1>>

错误输出重定向覆盖追加

错误或正确的输出重定向覆盖追加

管道 ( | )

Shell 执行命令的方式

  • 交互式 (命令行)
    • 人工干预
    • 逐条解释执行、效率低
  • 非交换式(脚本)
    • 需要提前设计
    • 批量执行、效率高
    • 修改用户的 Shell 解释器:

二、脚本设计与运行

2.1 编写Shell 脚本

什么是 Shell 脚本
提前将可执行的命令语句写入一个文件
顺序执行
解释器逐行解释代码

第一个 Shell 脚本

编写一个 Hello Word脚本
新建文件
添加可执行语句 (命令)
给文件添加 x 执行权限

规范脚本的构成

一个合格规范的脚本应该包含以下这些内容
#! 脚本声明 (使用哪种解释器解释代码)
注释信息 (步骤、思路、用途等),以 #
可执行的语句

2.2 执行 Shell 脚本

方法一:需要为文件赋予可执行的权限
绝对路径执行
相对路径执行
方法二:不需要文件有可执行的权限
sh 脚本文件名
source 脚本文件名 #不会启动子进程,通过pstree 查看进程树

关于Linux中shell 等知识的一些笔记

三、变量

3.1 自定义变量

以固定的名称,存放可以能有变化的值

定义变量

  • 定义变量的格式:变量名=变量值
  • 取消变量的格式:unset 变量名
注意事项:
= 两边不能有空格,不要使用关键字做变量名,如:ls、cd等;
如果变量名已经存在则覆盖之前的变量值;
变量名称有:字母/数字/下划线,不能以数字开始;

查看变量

  • 查看变量的语法格式:

3.2系统预设变量

变量类型
环境变量(变量名通常大写,有操作系统维护);
位置变量(bash内置变量,存储脚本执行时的参数);
预定义变量(bash内置变量,可以调用但是不能赋值或修改);
自定义变量(用户自主设置)

环境变量

环境变量
存储在 或
命令 可以列出所有环境变量
常见环境变量:
来源:山河已无恙
                                                        

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年9月16日
下一篇 2021年9月16日

相关推荐