singb/update-env.sh
2025-03-21 04:31:57 +00:00

40 lines
977 B
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
set -x
# 如果 .env 文件不存在,则从 env_model 复制
if [ ! -f .env ]; then
cp env_model .env
fi
# 读取 .env 文件中的 PORT如果不存在则使用默认值 40900
DEF_PORT="40900"
PORT=$(grep -E '^PORT=' .env | cut -d '=' -f2)
PORT=${PORT:-$DEF_PORT}
# 读取 .env 文件中的 UUID如果不存在则生成一个新的
DEF_UUID="20f7fca4-86e5-4ddf-9eed-24142073d197"
UUID=$(grep -E '^UUID=' .env | cut -d '=' -f2)
UUID=${UUID:-$DEF_UUID}
# 读取默认 HOST
HOST=$(grep -E '^HOST=' .env | cut -d '=' -f2)
NOW_HOST=`hostname`
HOST=${HOST:-$NOW_HOST}
# 生成新的 IP 地址(这里用示例 IP你可以根据需要动态生成
NOW_IP=`wget -qO- ipinfo.io/ip`
# 更新 IP 地址
sed -i "s/^IP=.*/IP=$NOW_IP/" .env
# 更新 UUID
sed -i "s/^UUID=.*/UUID=$UUID/" .env
# 更新 HOST如果没有值
sed -i "/^HOST=/s/HOST=$/HOST=$HOST/" .env
# 更新 PORT如果没有值
sed -i "/^PORT=/s/PORT=$/PORT=$PORT/" .env
cat .env