加入参数校验

This commit is contained in:
david_bai
2025-05-17 23:07:07 +08:00
parent 2b87f2bfe8
commit 7a979550a1
2 changed files with 55 additions and 7 deletions
+1 -7
View File
@@ -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"
+54
View 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"