Shell脚本是Linux系统管理和自动化任务中不可或缺的强大工具。本文将通过6个实用案例,带您从基础到进阶掌握Shell脚本编程的核心技能。每个案例都包含完整代码、执行结果和详细解析,帮助您快速提升Shell编程能力。
案例1:目录内容遍历脚本
功能:输出指定目录下所
#!/bin/bash
if [ $# -eq 0 ]; then
echo "请提供一个目录。"
exit 1
fi
# 保存传入的目录
dir="$1"
# 列出所有文件和子目录
find "$dir" -print
技术要点:
-
$#获取参数个数 -
find命令实现递归查找
应用场景:系统清理、日志分析前的目录结构检查
执行效果:
案例2:数值运算脚本
功能:将输入整数乘以2
#!/bin/bash
# 检查是否提供了参数
if [ $# -ne 1 ]; then
echo "$0 整数"
fi
# 检查输入是否为整数
if ! [[ $1 =~ ^-?[0-9]+$ ]]; then
echo "错误: 输入必须是一个整数。"
fi
# 执行乘法操作
result=$(( $1 * 2 ))
# 输出结果
echo "结果: $result"
执行效果:

扩展应用:可修改为通用计算器脚本
案例3:特定文件查找脚本
功能:查找目录下所有.txt文件
#!/bin/bash
if [ $# -eq 0 ]; then
echo "错误: 请提供一个目录。"
exit 1
fi
directory="$1"
find "$directory" -type f -name "*.txt"
技术要点:
-
-type f限定只查找文件 -
-name模式匹配 -
组合条件查询技巧
执行效果:

案例4:阶乘计算脚本
功能:计算给定整数的阶乘
#传入的第一个参数赋值给变量 n
n=$1
#初始化变量 f 为 1
f=1
#开始一个 while 循环
while [ $n -gt 0 ]; do
#将当前的 f 值与 n 值相乘,结果重新赋值给 f
f=$((f * n))
n=$((n - 1))
done
echo "$1 的阶乘是 $f"
技术要点:
-
while循环控制
-
变量递减技巧
-
大数计算处理(注意Shell整数范围限制)
执行效果:

案例5:奇偶判断脚本
功能:判断输入整数奇偶性
#!/bin/bash
# 参数
if [ $# -ne 1 ]; then
echo "错误: 请提供一个参数。"
exit 1
fi
number=$1
# 判断是否为偶数
if [ $((number % 2)) -eq 0 ]; then
echo "$number 是偶数。"
else
echo "$number 是奇数。"
fi
技术要点:
-
取模运算%的使用
-
if-else条件分支
-
退出状态码管理
执行效果:

案例6:字符串反转脚本
功能:反转输入字符串
#!/bin/bash
if [ $# -ne 1 ]; then
echo "错误 请输入一个字符串"
exit 1
fi
reversed=$(echo "$1" | rev)
echo "反转后的字符串是: $reversed"
技术要点:
-
rev命令的使用
-
命令替换$()语法
-
字符串变量处理
执行效果:




5921

被折叠的 条评论
为什么被折叠?



