重构安装依赖逻辑,动态安装缺失的软件包,移除冗余代码
This commit is contained in:
+35
-18
@@ -49,24 +49,6 @@ check_docker_compose() {
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装jq
|
||||
install_jq(){
|
||||
local package_manager=$(get_package_manager) # 获取包管理器
|
||||
if [[ -z "$package_manager" ]]; then
|
||||
echo "无法识别系统包管理器"
|
||||
return 1 # 无法识别包管理器
|
||||
fi
|
||||
|
||||
if [[ "$package_manager" == "apt-get" ]]; then
|
||||
sudo apt-get install -y jq
|
||||
elif [[ "$package_manager" == "yum" ]]; then
|
||||
sudo yum install -y jq
|
||||
else
|
||||
echo "未知的系统包管理器"
|
||||
return 1 # 未知的包管理器
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装docker
|
||||
install_docker(){
|
||||
echo 安装docker...
|
||||
@@ -80,3 +62,38 @@ install_docker_compose(){
|
||||
chmod +x /usr/local/bin/docker-compose
|
||||
}
|
||||
|
||||
# 动态安装软件包
|
||||
install_package() {
|
||||
local package_name=$1
|
||||
if command -v "$package_name" &> /dev/null; then
|
||||
echo "$package_name 已安装, 跳过."
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "安装 $package_name..."
|
||||
package_manager=$(get_package_manager)
|
||||
if [ "$package_manager" == "apt-get" ]; then
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y "$package_name"
|
||||
elif [ "$package_manager" == "yum" ]; then
|
||||
sudo yum install -y "$package_name"
|
||||
else
|
||||
echo "未知的包管理器, 请手动安装 $package_name."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
check_config(){
|
||||
local config_dir="./conf"
|
||||
# 如果配置文件不存在或者空白
|
||||
if [ ! -e "$config_dir/config.json" ] || [ ! -s "$config_dir/config.json" ];then
|
||||
echo "请先'创建配置'"
|
||||
exit 0
|
||||
fi
|
||||
# 如果配置未初始化
|
||||
uuid=$(jq -r '.inbounds[0].settings.clients[0].id' "$config_dir/config.json")
|
||||
if [ "$uuid" = "你的UUID" ] || [ -z "$uuid" ]; then
|
||||
echo "请先'创建配置'"
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user