fix:bug
This commit is contained in:
44
run-ngrok.sh
44
run-ngrok.sh
@@ -106,25 +106,37 @@ fi
|
||||
|
||||
echo "ngrok 公网地址: $PUBLIC_URL"
|
||||
|
||||
# 更新 .env:存在 CALLBACK_BASE_URL 则替换,否则追加
|
||||
# 更新 .env:已有非空 CALLBACK_BASE_URL 时默认不覆盖,避免每次重启都要重新设定;传 --update 则强制更新
|
||||
FORCE_UPDATE=0
|
||||
for a in "$@"; do
|
||||
[ "$a" = "--update" ] && FORCE_UPDATE=1
|
||||
done
|
||||
|
||||
ENV_FILE=".env"
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "CALLBACK_BASE_URL=$PUBLIC_URL" >> "$ENV_FILE"
|
||||
echo "已写入 $ENV_FILE: CALLBACK_BASE_URL=$PUBLIC_URL"
|
||||
else
|
||||
if grep -q '^CALLBACK_BASE_URL=' "$ENV_FILE" 2>/dev/null; then
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
sed -i '' "s|^CALLBACK_BASE_URL=.*|CALLBACK_BASE_URL=$PUBLIC_URL|" "$ENV_FILE"
|
||||
else
|
||||
sed -i "s|^CALLBACK_BASE_URL=.*|CALLBACK_BASE_URL=$PUBLIC_URL|" "$ENV_FILE"
|
||||
fi
|
||||
echo "已更新 $ENV_FILE: CALLBACK_BASE_URL=$PUBLIC_URL"
|
||||
else
|
||||
echo "" >> "$ENV_FILE"
|
||||
echo "# 消息回调(ngrok 调通用,由 run-ngrok.sh 自动写入)" >> "$ENV_FILE"
|
||||
CURRENT_CB=""
|
||||
[ -f "$ENV_FILE" ] && CURRENT_CB=$(grep -E '^CALLBACK_BASE_URL=' "$ENV_FILE" 2>/dev/null | sed 's/^CALLBACK_BASE_URL=//' | tr -d '\r' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') || true
|
||||
|
||||
if [ "$FORCE_UPDATE" = "1" ] || [ -z "$CURRENT_CB" ]; then
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "CALLBACK_BASE_URL=$PUBLIC_URL" >> "$ENV_FILE"
|
||||
echo "已追加 $ENV_FILE: CALLBACK_BASE_URL=$PUBLIC_URL"
|
||||
echo "已写入 $ENV_FILE: CALLBACK_BASE_URL=$PUBLIC_URL"
|
||||
else
|
||||
if grep -q '^CALLBACK_BASE_URL=' "$ENV_FILE" 2>/dev/null; then
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
sed -i '' "s|^CALLBACK_BASE_URL=.*|CALLBACK_BASE_URL=$PUBLIC_URL|" "$ENV_FILE"
|
||||
else
|
||||
sed -i "s|^CALLBACK_BASE_URL=.*|CALLBACK_BASE_URL=$PUBLIC_URL|" "$ENV_FILE"
|
||||
fi
|
||||
echo "已更新 $ENV_FILE: CALLBACK_BASE_URL=$PUBLIC_URL"
|
||||
else
|
||||
echo "" >> "$ENV_FILE"
|
||||
echo "# 消息回调(ngrok 调通用,由 run-ngrok.sh 自动写入)" >> "$ENV_FILE"
|
||||
echo "CALLBACK_BASE_URL=$PUBLIC_URL" >> "$ENV_FILE"
|
||||
echo "已追加 $ENV_FILE: CALLBACK_BASE_URL=$PUBLIC_URL"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "已保留现有 CALLBACK_BASE_URL=$CURRENT_CB(不覆盖)。若 ngrok 已换新地址,请执行: ./run-ngrok.sh --update"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user