37 lines
1.0 KiB
Bash
37 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# Ver: 1.2 by Endial Fang (endial@126.com)
|
|
#
|
|
# 应用环境变量定义及初始化
|
|
|
|
# 通用设置
|
|
export ENV_DEBUG=${ENV_DEBUG:-false}
|
|
export ALLOW_ANONYMOUS="${ALLOW_ANONYMOUS:-no}"
|
|
|
|
# 通过读取变量名对应的 *_FILE 文件,获取变量值;如果对应文件存在,则通过传入参数设置的变量值会被文件中对应的值覆盖
|
|
# 变量优先级: *_FILE > 传入变量 > 默认值
|
|
app_env_file_lists=(
|
|
APP_PASSWORD
|
|
)
|
|
for env_var in "${app_env_file_lists[@]}"; do
|
|
file_env_var="${env_var}_FILE"
|
|
if [[ -n "${!file_env_var:-}" ]]; then
|
|
export "${env_var}=$(< "${!file_env_var}")"
|
|
unset "${file_env_var}"
|
|
fi
|
|
done
|
|
unset app_env_file_lists
|
|
|
|
# 应用路径参数
|
|
export APP_DEF_DIR="${APP_BASE}/etc/${APP_NAME}"
|
|
export APP_CONF_DIR="/srv/${APP_NAME}/conf"
|
|
export APP_DATA_DIR="/srv/${APP_NAME}/data"
|
|
|
|
# 应用配置参数
|
|
export APP_CONF_FILE=${APP_CONF_DIR}/default.conf
|
|
|
|
# 内部变量
|
|
export APP_PID_FILE="${APP_PID_FILE:-/var/run/${APP_NAME}/${APP_NAME}.pid}"
|
|
|
|
# 个性化变量
|
|
|