实用脚本能批量运行吗?

wen 实用脚本 35

本文目录导读:

实用脚本能批量运行吗?

  1. 批量处理文件/数据
  2. 批量运行多个脚本
  3. 并行批量执行
  4. 读取列表批量执行
  5. 实用批量场景示例
  6. 注意事项

可以的!实用脚本完全支持批量运行,具体有几种常见方式:

批量处理文件/数据

遍历文件夹中的所有文件并执行相同操作:

#!/bin/bash
# 批量重命名 .txt 文件
for file in *.txt; do
    mv "$file" "prefix_$file"
done

批量运行多个脚本

创建一个主脚本来依次调用其他脚本:

#!/bin/bash
# 批量执行多个任务脚本
./backup.sh
./cleanup.sh
./report.sh
echo "所有任务执行完毕"

并行批量执行

使用 & 让任务同时运行:

#!/bin/bash
# 并行处理多个文件
for file in *.csv; do
    python process.py "$file" &
done
wait  # 等待所有后台任务完成
echo "全部处理完成"

读取列表批量执行

从文件读取目标列表:

#!/bin/bash
# 从 servers.txt 读取服务器IP批量执行命令
while read server; do
    ssh user@$server "uptime" >> results.log
done < servers.txt

实用批量场景示例

批量图片压缩

#!/bin/bash
mkdir -p compressed
for img in *.jpg; do
    convert "$img" -resize 800x800 "compressed/$img"
done

批量修改配置文件

#!/bin/bash
# 批量将配置文件中的 old_ip 替换为 new_ip
for conf in /etc/app/*.conf; do
    sed -i 's/old_ip/new_ip/g' "$conf"
done

批量远程执行命令

#!/bin/bash
servers=("192.168.1.1" "192.168.1.2" "192.168.1.3")
for ip in "${servers[@]}"; do
    ssh root@$ip "apt-get update && apt-get upgrade -y"
done

注意事项

  • 权限:可能需要 chmod +x script.sh
  • 错误处理:建议加入 || exit 1set -e
  • 日志记录:重定向输出到日志文件便于追踪
  • 资源控制:并行执行注意CPU/内存占用

需要我帮你写一个特定场景的批量脚本吗?比如批量重命名、批量格式转换等。

抱歉,评论功能暂时关闭!