#!/bin/bash # 固定路径(不允许修改) yaml_path="/boot/脚本/ghproxy.yaml" # 定义默认值(强制兜底,确保不为空) default_project="ghproxy" default_port="7210" # 读取用户输入 read -p "请输入项目名称(默认: $default_project): " input_project read -p "请输入映射端口(默认: $default_port): " input_port # 处理输入:空值/纯空格则用默认值(关键优化) project_name=$(echo "$input_project" | xargs) # 去除首尾空格 project_name=${project_name:-$default_project} # 若为空则用默认值 port=$(echo "$input_port" | xargs) port=${port:-$default_port} # 再次强制校验项目名(确保绝对不为空) if [ -z "$project_name" ]; then project_name="$default_project" echo "警告:项目名不能为空,已自动使用默认值 '$default_project'" fi # 写入配置文件 echo "version: '3.9' services: $project_name: image: wjqserver/ghproxy:latest restart: always volumes: - ./ghproxy/log:/data/ghproxy/log - ./ghproxy/config:/data/ghproxy/config ports: - \"$port:8080\" " > "$yaml_path" # 启动服务 docker compose -p "$project_name" -f "$yaml_path" up -d echo "服务启动成功!项目名: $project_name,端口: $port,配置路径: $yaml_path"