#!/bin/bash # 定义存放结果的目录 RESULT_DIR="/tmp/script_results" mkdir -p "$RESULT_DIR" # 清空之前的结果 rm -f "$RESULT_DIR"/* # 遍历并执行脚本 for script in /shell/*.sh; do # 为每个脚本生成一个唯一的结果文件 result_file="$RESULT_DIR/$(basename "$script").out" # 使用timeout命令设置超时时间为30秒 timeout 30s bash "$script" > "$result_file" 2>&1 & pid=$! wait $pid exit_status=$? # 检查是否因为超时退出 if [ $exit_status -eq 124 ]; then echo "script_timeout_status{scriptname=\"$(basename ${script})\"} 1" >> "$result_file" fi done # 输出所有结果 cat "$RESULT_DIR"/*