一. 定义
1.1 什么是shell脚本
- shell脚本是一种可运行的文本
- shell脚本的内容是由逻辑和数据组成
- shell脚本是解释型语言
- 命令不可单独执行,由解释器将代码转换为系统指令,系统接受指令后执行
- 速度比编译型语言慢,优点是简单,开发效率高
1.2 shell脚本存在的意义
- Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具
- 一次编编写永久受益,多台主机都可以使用同一个脚本
二. shell脚本的基本元素及作用
- 脚本幻数:即脚本解释器,脚本运行的最优先指令,负责对脚本中其他命令进行解释
- 在脚本文件首行出现的特殊字符序列。主要作用是告知系统该脚本需要使用哪种解释器来运行。
- 程序主题:程序主体通常由命令,执行逻辑控制器和数据组成
- 注释:脚本中的说明文字,不参与脚本执行,只是对脚本中的代码进行说明
三. 脚本的书写规范及注释书写技巧
3.1 shell脚本的注释方法
- 单行注释 #
#print date 单行注释
date 程序主题
- 多行注释
: "
1.print date 多行注释(:与"之间有个空格)
2.
2.
"
date 程序主题
3.2 shell脚本的书写规范
- 脚本文件名:应见名知意
- 如" nginx_installtion.sh ",这是一个安装nginx的脚本
- 脚本解释器:文件开头指定脚本解释器 #!/bin/sh 或 #!/bin/bash
- 注释:单行注释或多行注释,注释不要用中文,避免后期中文乱码
- 尽量用少的命令完成动作,多使用内部命令
- 如:echo、eval、exec、export、read、shift、exit
- 开头添加信息
3.3 vim用于书写脚本的设定
- 配置 ~/.vimrc 文件
- /.vimrc 是 Vim 编辑器的用户配置文件,用于存储用户自定义的编辑习惯和功能设置
- 生效对象:仅对当前用户生效,每次打开 Vim 时会自动加载该文件中的配置
- 功能:在新建脚本文件时,在头部插入标准化注释模板
四. shell脚本执行方法详解
4.1 无可执行权限
当脚本没有可执行权限时,是不能用脚本的绝对路径去调用他的
相对路径也不行
调用的三种方法
##1 source xx.sh
[root@huang4 script]# source hh.sh
Tue May 27 05:45:00 PM CST 2025
##2 . xx.sh
[root@huang4 script]# . hh.sh
Tue May 27 05:45:25 PM CST 2025
##3 sh xx.sh
[root@huang4 script]# sh hh.sh
Tue May 27 05:45:33 PM CST 2025
4.2 有可执行权限
## 添加权限
[root@huang4 script]# chmod +x hh.sh
4.3 区别
“ source hh.sh ”与“ . hh.sh ”:以当前的shell作为解释器,不会开启新的shell
“ sh hh.sh ”:用指定的解释器
“ ./hh.sh ”:在脚本文件中查看使用哪一种解释器,先开发后运行
五. shell脚本的调试
显示执行过程
## 调试脚本 sh -x name.sh
## +表示动作 没有+表示输出
[root@huang4 script]# sh -x hh.sh
+ date
Thu May 29 10:56:20 PM CST 2025
直接执行脚本
[root@huang4 script]# sh hh.sh
Thu May 29 10:58:36 PM CST 2025
六. 脚本退出值
6.1 什么是退出值
执行一条命令完毕后,系统会给出一个退出值,若成功则为0,出现错误则1~255
退出状态码是一个整数,其有效范围为0~255
行为良好的UNIX命令,程序和工具都会返回0作为退出码来表示成功。
6.2 查看退出值
- 完成一条命令后,输入 echo $? 查看退出值
6.3 修改退出值
- 未指定退出值(exit 后没有加数值)
- 指定退出值(exit 数值)