This commit is contained in:
Olia Lisa 2025-12-09 16:26:00 +08:00
parent a2da384dfd
commit 4f090bd873
2 changed files with 37 additions and 23 deletions

View File

@ -49,6 +49,27 @@ check_bash_installed() {
fi
}
# 动态安装软件包
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
}
# 生成密码
gen_password() {
@ -59,4 +80,4 @@ gen_password() {
rand=$(< /dev/urandom tr -dc "$chars" | head -c "$pass_length")
echo "$rand"
}
}

View File

@ -7,36 +7,29 @@ source "${script_dir}/utils/base.sh"
check_bash_installed
install(){
if command -v docker >/dev/null 2>&1; then
echo "docker 已安装, 跳过."
else
if ! command -v curl >/dev/null 2>&1; then
install_package curl
fi
if ! command -v wget >/dev/null 2>&1; then
install_package wget
fi
if ! command -v jq >/dev/null 2>&1; then
echo 安装jq...
install_package jq
fi
if ! command -v docker >/dev/null 2>&1; then
echo 安装docker...
curl -fsSL https://get.docker.com | bash -s docker
fi
if command -v docker-compose >/dev/null 2>&1; then
echo "docker-compose 已安装, 跳过."
else
if ! command -v docker-compose >/dev/null 2>&1; then
echo 安装docker-compose...
wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/v2.29.0/docker-compose-linux-x86_64
chmod +x /usr/local/bin/docker-compose
fi
if command -v jq >/dev/null 2>&1; then
echo "jq 已安装, 跳过."
else
echo 安装jq...
package_manager=get_package_manager
if [ "$package_manager" == "apt" ]; then
sudo apt-get update
sudo apt-get install -y jq
elif [ "$package_manager" == "yum" ]; then
sudo yum install -y jq
else
echo "未知的包管理器, 请手动安装jq."
exit 1
fi
fi
}
# 显示菜单