singb/update-env.sh

40 lines
977 B
Bash
Raw Normal View History

2025-03-21 04:31:57 +00:00
#!/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