#!/usr/bin/env bash # 去掉各目录 .env 的 Windows 换行符(解决 PM2 agent errored: $'\r': command not found) set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" REPO="$(cd "${SCRIPT_DIR}/../.." && pwd)" dirs=( "${REPO}/manual_trading_hub" "${REPO}/crypto_monitor_binance" "${REPO}/crypto_monitor_okx" "${REPO}/crypto_monitor_gate" "${REPO}/crypto_monitor_gate_bot" ) fixed=0 for d in "${dirs[@]}"; do f="${d}/.env" if [[ ! -f "${f}" ]]; then echo "跳过(无文件): ${f}" continue fi if grep -q $'\r' "${f}" 2>/dev/null; then sed -i 's/\r$//' "${f}" echo "已修复 CRLF: ${f}" fixed=$((fixed + 1)) else echo "已是 LF: ${f}" fi done echo "完成,共修复 ${fixed} 个 .env。" echo "请重启子代理: cd ${REPO}/manual_trading_hub && pm2 restart manual-agent-gate manual-agent-gate-bot manual-agent-binance manual-agent-okx" echo "或: bash scripts/pm2_hub.sh restart"