在IT环境维护中,为了提高工作效率,减少因为手工操作出现的错误,我们常选择使用脚本处理大量重复性工作。shell是Linux中最常用的脚本语言,使用shell脚本可以实现针对性的自动化运维。在计算机中,用户是无法直接与硬件或内核交互的,用户一般通过应用程序发送指令给内核,内核在收到指令后分析用户需求,调度硬件资源来完成操作。在Linux系统中,这个应用程序就是shell。
shell是一种具备特殊功能的程序,处于用户和内核之间,提供用户与内核进行交互的接口。shell可接收用户输入的命令,将命令送入内核中执行,也可以接收到用户的命令后调度硬件资源完成操作,再将结果返回给用户。
shell在帮助用户和内核完成交互的过程中还提供了解释功能:传递命令,shell将命令解释为二进制形式,返回结果时,将结果解释为字符形式。因此shell又被称为命令解释器。
运行shell脚本的两种方法
1、作为可执行程序。“#!”是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种shell。echo为输出文本(类似print函数)。执行使用./test.sh,意为在当前目录查找并执行。第一行一定要写对,否则系统找不到正确的解释器会报错。
2、作为解释器参数。直接调用解释器来运行脚本,脚本直接作为解释器的参数运行