前面13天,我们学的全部是手动敲命令。
从今天 Day14 开始,Linux正式进入自动化时代!
Shell脚本是运维的终极武器:
批量操作、自动备份、自动清理日志、自动巡检、定时任务执行,
所有解放双手、提高效率的工作,全部靠 Shell 实现。
零基础、零编程基础也能看懂,今天带你入门Shell!
一、今日学习目标
✅ 搞懂什么是Shell脚本、为什么必须学
✅ 掌握脚本文件编写、授权、运行完整流程
✅ 学会变量、输出、简单判断语法
✅ 掌握注释、规范写法、脚本排错
✅ 能够编写第一个自动化小程序
二、什么是Shell脚本?
一句话总结:
把一堆Linux命令,按顺序写到一个文件里,一次性自动执行 = Shell脚本
优势:
1. 重复工作只写一次,永久自动运行
2. 可以搭配crontab实现全自动运维
3. 批量处理文件、批量部署、批量清理
4. 无需高深编程,全部是我们学过的Linux命令
脚本后缀:.sh
三、第一个Shell脚本(标准模板)
1、创建脚本文件
bash
vim first.sh
2、写入标准脚本内容
bash
#!/bin/bash
# 我的第一个Linux脚本
echo "Hello Linux Day14 脚本学习成功!"
脚本首行解释
#!/bin/bash
脚本必须首行,指定使用bash解释器运行,标准规范。
# 号后面为注释,程序不执行,用于记录说明。
四、脚本运行两种方式
方式一:添加执行权限(企业标准)
bash
# 赋予执行权限
chmod +x first.sh
# 直接运行
./first.sh
方式二:直接调用解释器运行(临时测试)
bash
bash first.sh
五、Shell变量(核心基础)
变量 = 存数据的容器,无需定义类型,直接用
1、自定义变量
bash
name="Linux学习"
echo $name
2、系统自带环境变量
bash
echo $USER # 当前用户名
echo $HOME # 当前家目录
echo $PWD # 当前路径
echo $SHELL # 当前解释器
六、简单判断语句(最实用语法)
生产脚本90%都会用到判断,判断文件是否存在、目录是否存在。
判断文件是否存在
bash
#!/bin/bash
if [ -f "/etc/passwd" ];then
echo "文件存在"
else
echo "文件不存在"
fi
判断目录是否存在
bash
#!/bin/bash
if [ -d "/home" ];then
echo "目录存在"
fi
七、常用文件判断参数(熟记)
- -f 判断是否为文件
- -d 判断是否为目录
- -e 判断文件/目录是否存在
- -x 判断是否有执行权限
- -w 判断是否有写入权限
八、实战小脚本:自动创建文件并写入内容
bash
#!/bin/bash
# Day14 实战脚本
mkdir -p /home/day14
echo "Shell脚本自动化学习" > /home/day14/test.txt
echo "文件创建写入完成!"
九、脚本排错新手须知
1. 脚本必须 Linux换行格式,Windows粘贴容易报错
2. 中括号 [ ] 两边必须有空格
3. 结尾必须 fi 结束if判断
4. 路径尽量写绝对路径
5. 运行报错优先用 bash -x 脚本名 调试
调试运行
bash
bash -x first.sh
十、今日实操作业(必敲)
bash
# 1. 创建脚本
vim day14.sh
# 2. 写入内容
#!/bin/bash
echo "当前用户:$USER"
echo "当前路径:$PWD"
if [ -d "/home" ];then
echo "home目录正常存在"
fi
# 3. 授权运行
chmod +x day14.sh
./day14.sh
十一、今日知识点总结
1. Shell脚本 = 批量自动化执行Linux命令
2. 首行必须 #!/bin/bash
3. 运行脚本需要 +x执行权限
4. 变量直接定义、$符号调用
5. if判断是脚本最核心语法
6. 学会脚本 = 告别重复手动运维
遇到问题欢迎评论区留言探讨,关注账号,持续输出运维干货。