重构安装脚本,优化主函数结构并移除冗余代码

This commit is contained in:
Olia Lisa 2026-01-10 21:27:44 +08:00
parent e84787c3f1
commit 067dd46f21

View File

@ -1,12 +1,9 @@
#!/bin/bash #!/bin/bash
script_dir="$(cd "$(dirname "$0")"; pwd)/bin" # 脚本所在目录
source "${script_dir}/utils/base.sh"
# 检查bash环境是否安装
check_bash_installed
install(){ install(){
local script_dir="$(cd "$(dirname "$0")"; pwd)/bin" # 脚本所在目录
source "${script_dir}/utils/base.sh"
if ! command -v curl >/dev/null 2>&1; then if ! command -v curl >/dev/null 2>&1; then
install_package curl install_package curl
fi fi
@ -32,60 +29,70 @@ install(){
fi fi
} }
# 显示菜单 main(){
echo "请选择一个操作:" local script_dir="$(cd "$(dirname "$0")"; pwd)/bin" # 脚本所在目录
echo "1. 安装并启动" source "${script_dir}/utils/base.sh"
echo "2. 生成配置 / 重置配置"
echo "3. 启动容器"
echo "4. 查看分享链接"
echo "5. 停止容器"
echo "6. 更新镜像"
echo "7. 更新端口"
echo "8. 修改域名"
# 读取用户选择 # 检查bash环境是否安装
read -p "输入您的选择: " choice check_bash_installed
# 根据用户选择执行相应的操作 # 显示菜单
case $choice in echo "请选择一个操作:"
1) echo "1. 安装并启动"
# 安装并启动 echo "2. 生成配置 / 重置配置"
install echo "3. 启动容器"
bash ./bin/run.sh echo "4. 查看分享链接"
;; echo "5. 停止容器"
2) echo "6. 更新镜像"
# 生成配置 echo "7. 更新端口"
echo "重新生成配置.." echo "8. 修改域名"
bash ./bin/create_config.sh
;; # 读取用户选择
3) read -p "输入您的选择: " choice
# 启动容器
echo "启动容器.." # 根据用户选择执行相应的操作
bash ./bin/run.sh case $choice in
;; 1)
4) # 安装并启动
# 查看分享链接 install
echo "查看分享链接.." bash ./bin/run.sh
bash ./bin/print_share_link.sh ;;
;; 2)
5) # 生成配置
# 停止容器 echo "重新生成配置.."
echo "正在停止容器.." bash ./bin/create_config.sh
docker-compose -f ./docker-compose.yml down ;;
;; 3)
6) # 启动容器
# 更新镜像 echo "启动容器.."
bash ./bin/update_docker_images.sh bash ./bin/run.sh
;; ;;
7) 4)
# 更新端口 # 查看分享链接
bash ./bin/update_port.sh echo "查看分享链接.."
;; bash ./bin/print_share_link.sh
8) ;;
# 修改域名 5)
bash ./bin/update_domain.sh # 停止容器
;; echo "正在停止容器.."
*) docker-compose -f ./docker-compose.yml down
echo "无效的选择, 请重新选择." ;;
;; 6)
esac # 更新镜像
bash ./bin/update_docker_images.sh
;;
7)
# 更新端口
bash ./bin/update_port.sh
;;
8)
# 修改域名
bash ./bin/update_domain.sh
;;
*)
echo "无效的选择, 请重新选择."
;;
esac
}
main