shell脚本 | 青训营笔记

75 阅读2分钟

shell脚本和编程

shell用于linux的基本操作和管理,可以编写脚本,可以完成前端Node.js服务的一系列运维操作,包括进程管理、问题排查、资源监控等

shell可做解释器,包括bash内置命令、GNU核心工具集、第三方库;也可编程语言:配置相关变量、进行逻辑和算数运算、进行相关语句的运用、定义使用函数

自定义变量相关代码

image.png  

系统环境变量

image.png

常见运算符和引用

image.png  

管道与管道符 | ,将前一个命令的结果传递给后面的命令

语法为:cmd1 | cmd2

要求: 管道右侧命令必须能接受标准输入,如grep命令,ls、mv等命令不能直接用,但可以使用xargs先进行预处理

注意: 管道命令仅仅处理stdout,对stderr会予以忽略,可使用set -o pipefail设置shell遇到管道错误退出

重定向

输出重定向符号                      输入冲定向符号

覆盖写入文件                         <

追加写入文件                        <<

2>错误输出写入文件

&>正确和错误输出统一写入到文件中

常用命令

image.png

个人拓展:

Linux中可以自行编写一段程序,利用POSIX API提供的当前路径,打开、关闭目录,读取目录、文件属性获取等函数仿写ls-l命令,能够获取当前的工作目录路径,并且对此路径下的所有文件的文件名文件的属性进行打印显示。此方法是通过编程,用ls-l命令对管道的运用。 结果如图

image.png  

Linux中可以自行编写一段程序,利用POSIX API提供的文件打开、文件读、文件写和文件关闭等函数仿写cp命令,命名为mycp根据mycp命令参数的差异,实现以下两个功能:在同一个目录下复制一个文件为另一个文件和复制一个文件到另一个目录下。结果如图

image.png

对shell脚本的基本操作熟悉程度尤为重要,熟练使用可以大大提高工作效率,我们要加深对相关命令的记忆与使用熟练度。