Linux Shell编程基础:从写第一个脚本到自动化日常任务
在Linux服务器上,重复性的工作最好用脚本解决。Shell脚本就是把命令行操作写到一个文件里,让系统自动执行,省去逐条敲命令的麻烦。不管是批量重命名文件、定时备份数据,还是部署应用,写好一个脚本就能一键搞定。
一、创建一个最简单的脚本
Shell脚本本质上是一个文本文件,第一行需要指定用什么解释器执行。最常见的写法是:
#!/bin/bash — 告诉系统用bash来执行这个文件。#开头的行是注释,解释器会忽略。echo是最常用的输出命令,用于向终端打印文本。
写好文件后,需要给它执行权限:chmod +x 文件名.sh,然后运行./文件名.sh就能看到输出结果。这是写任何Shell脚本的标准流程。
二、变量和基本运算
Shell里用变量名=值来定义变量,等号两边不能有空格。取变量值时在变量名前加$符号:echo $变量名。如果需要把用户输入存到变量里,用read 变量名。
数字运算需要借助$(( ))语法:result=$((a + b))。Shell本身不擅长做复杂计算,日常的加减乘除够用了。字符串拼接更简单,直接把变量写在一起就行:full="$name $title"。
三、条件判断和循环
条件判断用if语句,后面跟then,结束用fi:if [ 条件 ]; then ... fi。条件写在中括号里,里面的空格必须严格,多了少了都会报错。常用判断包括文件是否存在-f、目录是否存在-d、两个值是否相等=。
for循环遍历一组值:for i in 1 2 3; do echo $i; done。while循环在条件成立时反复执行。用break跳出循环,continue跳过本轮。实际工作中,循环配合文件列表使用频率最高,比如批量压缩当前目录下所有.log文件。
四、函数让脚本更整洁
一个功能用function 函数名() { ... }包起来就是函数。函数里用$1、$2接收第1个、第2个参数,用return返回数字状态码。函数的好处是把重复的代码写一次、用多次,别写一大坨从上到下的面条代码。
注意:Shell函数的返回值只能用0到255的整数,0表示成功,非0表示失败。如果需要函数返回字符串,用echo输出然后赋值给变量捕获。
五、实用技巧和最佳实践
写Shell脚本有几个实用习惯:脚本开头用set -e让脚本在遇到错误时自动退出,避免错误持续运行造成更大问题;用trap命令捕获脚本退出信号做清理工作;关键操作加上|| exit 1确保上一步成功才继续。
调试脚本用bash -x 脚本.sh,会逐行打印执行的命令和变量展开后的值,定位问题最快。另外,把密码、API密钥这类敏感信息写成环境变量而不是硬编码在脚本里,是降低安全风险的重要习惯。




提供云计算服务