40 lines
977 B
Bash
40 lines
977 B
Bash
|
#!/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
|