批量执行命令
把命令放置到aa.txt文件中
#!/bin/bash # 定义命令文件和错误日志 command_file="aa.txt" error_log="curl_errors.log" # 清空或创建错误日志 echo "错误报告 - $(date)" > $error_log # 记录总命令数和失败数 total_commands=0 failed_commands=0 # 逐行读取命令文件 while IFS= read -r cmd; do ((total_commands++)) echo "执行命令 $total_commands: $cmd" # 执行命令并捕获 HTTP 状态码和 curl 退出码 http_code=$(eval "$cmd -s -o /dev/null -w '%{http_code}'") exit_code=$? # 检查是否失败 if [ $exit_code -ne 0 ] || [[ ! "$http_code" =~ ^2 ]]; then ((failed_commands++)) echo "❌ 命令 $total_commands 失败" echo "----------------------------------------" >> $error_log echo "失败命令: $cmd" >> $error_log echo "HTTP 状态码: $http_code" >> $error_log echo "Curl 退出码: $exit_code" >> $error_log echo "时间: $(date '+%Y-%m-%d %H:%M:%S')" >> $error_log else echo "✅ 命令 $total_commands 成功 (HTTP $http_code)" fi done < "$command_file" # 输出统计信息 echo echo "执行完成!" echo "总命令数: $total_commands" echo "失败命令数: $failed_commands" echo "错误日志: $error_log"