Shell脚本编程实战:6个经典案例详解

  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命令的使用

  • 命令替换$()语法

  • 字符串变量处理

执行效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值