加入参数校验
This commit is contained in:
@@ -15,12 +15,6 @@ validate_env_vars() {
|
||||
local env_file=$1
|
||||
|
||||
echo "正在验证 Nginx 环境变量配置..."
|
||||
|
||||
# 检查环境变量文件是否存在
|
||||
if [ ! -f "$env_file" ]; then
|
||||
echo "错误: 找不到环境配置文件 $env_file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 加载环境变量
|
||||
source "$env_file"
|
||||
@@ -60,7 +54,7 @@ if [ ! -f "$ENV_FILE" ]; then
|
||||
fi
|
||||
|
||||
# 验证环境变量
|
||||
validate_env_vars "$1"
|
||||
validate_env_vars "$ENV_FILE"
|
||||
|
||||
# 读取环境变量
|
||||
source "$ENV_FILE"
|
||||
|
||||
@@ -1,5 +1,56 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 定义必需的环境变量
|
||||
declare -A required_vars=(
|
||||
["TURN_EXTERNAL_IP"]="TURN服务器外部IP地址"
|
||||
["TURN_REALM"]="TURN服务器域名"
|
||||
["TURN_USERNAME"]="TURN服务器用户名"
|
||||
["TURN_PASSWORD"]="TURN服务器密码"
|
||||
)
|
||||
|
||||
# 生产环境额外的必需变量
|
||||
production_vars=(
|
||||
"TURN_CERT_PATH"
|
||||
"TURN_KEY_PATH"
|
||||
)
|
||||
|
||||
# 验证环境变量
|
||||
validate_env_vars() {
|
||||
local missing_vars=()
|
||||
local env_file=$1
|
||||
|
||||
echo "正在验证 TURN 服务器环境变量配置..."
|
||||
|
||||
# 加载环境变量
|
||||
source "$env_file"
|
||||
|
||||
# 检查基本必需变量
|
||||
for var in "${!required_vars[@]}"; do
|
||||
if [ -z "${!var}" ]; then
|
||||
missing_vars+=("$var (${required_vars[$var]})")
|
||||
fi
|
||||
done
|
||||
|
||||
# 如果是生产环境,检查额外的必需变量
|
||||
if [[ "$NODE_ENV" == "production" ]]; then
|
||||
for var in "${production_vars[@]}"; do
|
||||
if [ -z "${!var}" ]; then
|
||||
missing_vars+=("$var (生产环境必需)")
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# 如果有缺失的变量,显示错误信息并退出
|
||||
if [ ${#missing_vars[@]} -ne 0 ]; then
|
||||
echo "错误: 以下必需的 TURN 服务器变量未设置:"
|
||||
printf '%s\n' "${missing_vars[@]}" | sed 's/^/ - /'
|
||||
echo "请在 $env_file 中设置这些变量后重试。"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "TURN 服务器环境变量验证通过!"
|
||||
}
|
||||
|
||||
# 检查参数
|
||||
if [ -z "$1" ]; then
|
||||
echo "Usage: $0 <env_file_path>"
|
||||
@@ -15,6 +66,9 @@ if [ ! -f "$ENV_FILE" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 验证环境变量
|
||||
validate_env_vars "$ENV_FILE"
|
||||
|
||||
# 读取环境变量
|
||||
source "$ENV_FILE"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user