文章目录
前言
- 随着 Linux 系统在企业中的应用越来越多,服务器的自动化管理也变得越来越重要
- 在 Linux 服务器的自动化维护工作中,除了计划任务的设置以外,Shell 脚本的应用也是非常重要的一部分
- shell和shell脚本有什么区别?确切一点说,Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统
- 而shell脚本呢,即将各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,效率极高
一、Shell脚本编程规范
1.概念
- 在一些复杂的Linux维护工作中,大量重复性的输入和交互操作不但费时费力,而且容易出错
- 而编写一个恰到好处的shell脚本程序,可以批量处理,自动化的完成一系列维护任务,大大减轻管理员的负担
- 将要执行的命令按顺序保存到一个文本文件
- 给该文件可执行权限
- 可结合各种Shell控制语句以完成更复杂的操作
2.应用场景
- 总结以上:Shell脚本就是将即将要执行的命令按顺序保存到一个文本文件,并给该文件可执行权限,方便一次性执行的一个程序文件,这样方便管理员进行设置或管理,可以结合各种shell控制语句以完成更复杂的操作
- 常用场景如下:
- 重复性操作
- 交互性任务
- 批量事务处理
- 服务运行状态监控
- 定时任务执行
- …
3.作用
- 即命令解释器,“翻译官”
- 介于系统内核与用户之间,负责解释命令行
- 接收用户输入的操作指令并进行解释,之后将需要执行的解释传递给内核执行并输出结果
- 登录后默认使用shell程序,一般为/bin/bash
- 不同的Shell的内部指令,运行环境等会有所区别
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
4.开始编写你的第一条shell脚本
- 编写脚本代码
- 使用vim
- 每一行Linux命令,按照顺序依次编写
- 赋予编写完成后的shell脚本文件可执行权限,使得脚本具有可执行性
以上编辑内容包括三条命令,实现了查看/boot目录中以vml开头的文件包括…,实现了“半自动化过程”
".sh"的作用是是一种标识,方便你和他人辨认这是一条shell脚本文件 - 赋权:
记住,一般都是要赋权的,添加可执行权限以确保脚本能正常执行
5.执行脚本文件的三种方法
以上文脚本为例
- 方法一:指定路径的命令,要求文件必须有 x 权限
脚本文件路径(绝对路径与相对路径,且必须要授权过)
chmod +x /root/first.sh
指定绝对路径:/root/first.sh
指定相对路径:./first.sh
- 方式二:指定Shell来解释脚本,不要求文件必须有 x 权限
sh 脚本路径:sh first.sh
source 脚本路径:
. first.sh
或
source first.sh
6.如何进一步完善的你脚本
- 添加更多人性化,友好一点的提示信息在里面,容易你复盘,以及别人读懂
“#!/bin/bash为默认解释器,还有其他类型的解释器ÿ