v1.1.5 修复: 支持管道执行时的模式选择

问题修复:
- 修复 curl | bash 执行时无法显示交互选择的问题
- 添加终端检测 (使用 -t 0 和 /dev/tty 检测)
- 管道执行时显示友好提示并自动进入安装模式
- 提示用户下载脚本后运行以使用交互选择

改进说明:
- 交互式终端: 显示选择界面 [1] 安装 [2] 卸载
- 管道执行: 显示提示信息并默认安装
- 提供卸载命令说明

技术细节:
- 使用 [[ -t 0 ]] 检测标准输入是否是终端
- 使用 [[ -c /dev/tty ]] 检测 /dev/tty 可用性
- 两个条件任一满足即可使用交互模式
This commit is contained in:
WanWanYun
2025-11-11 00:16:25 +08:00
parent 94cff001d8
commit 2213547e3d

View File

@@ -1715,6 +1715,8 @@ main() {
# 如果没有通过命令行参数指定模式,则显示交互式选择 # 如果没有通过命令行参数指定模式,则显示交互式选择
if [[ "$MODE" == "install" ]] && [[ "$1" != "--skip-mode-select" ]]; then if [[ "$MODE" == "install" ]] && [[ "$1" != "--skip-mode-select" ]]; then
# 检测是否可以使用交互式输入
if [[ -t 0 ]] || [[ -c /dev/tty ]]; then
print_step "请选择操作模式" print_step "请选择操作模式"
echo "" echo ""
echo -e "${GREEN}[1]${NC} 安装/部署 玩玩云" echo -e "${GREEN}[1]${NC} 安装/部署 玩玩云"
@@ -1740,6 +1742,18 @@ main() {
;; ;;
esac esac
done done
else
# 管道执行时的提示
print_info "检测到通过管道执行脚本"
print_info "默认进入安装模式"
print_warning "如需卸载,请下载脚本后运行: bash install.sh --uninstall"
echo ""
echo -e "${YELLOW}提示:${NC}"
echo " 安装命令: wget https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh && bash install.sh"
echo " 卸载命令: wget https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh && bash install.sh --uninstall"
echo ""
sleep 2
fi
fi fi
# 系统检测 # 系统检测