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