shell脚本是linux运维核心工具,以#!/bin/bash开头,需chmod +x赋权;变量定义不加$、引用加$;环境变量如$HOME可读但修改仅限当前shell;if、for、while实现逻辑与批量处理。

Shell脚本是linux系统管理与自动化任务的核心工具,掌握它能显著提升运维效率、减少重复操作、增强系统可靠性。
Shell脚本基础:从执行到变量使用
脚本以#!/bin/bash开头,保存为.sh文件后需赋予执行权限:chmod +x script.sh。变量定义不加$,引用时才加,例如name=”admin”; echo $name。环境变量(如$HOME、$PATH)可直接读取,但修改仅对当前shell有效。
条件判断与循环:让脚本具备逻辑能力
用if语句做条件分支,注意[ ]前后必须有空格;for和while适合批量处理。常见写法:
- if [ -f “/etc/passwd” ]; then echo “File exists”; fi
- for user in $(cut -d: -f1 /etc/passwd); do echo $user; done
- while read line; do echo “Line: $line”; done
实用自动化任务示例
日常运维中高频场景可快速落地:
- 日志轮转:检查日志大小,超限则压缩归档并清空
- 服务状态监控:用systemctl is-active检测关键服务,异常时发邮件或重启
- 用户批量创建:从csv读取用户名与组信息,调用useradd和passwd完成初始化
- 磁盘空间告警:用df -h提取/分区使用率,超90%时触发通知
调试与安全注意事项
脚本上线前务必测试。启用调试模式:bash -x script.sh查看每步执行过程。安全方面需注意: