You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Zenity弹窗下如何实现点击Cancel按钮终止循环并关闭窗口

Zenity 弹窗Cancel按钮无响应的Shell循环修复

原代码结构

until [[ "$VAR" == "End" && <second cond. for cancel> ]]; do
  # 循环执行逻辑
done

现存问题

  • Zenity弹窗仅支持通过点击窗口右上角红色关闭叉号触发流程退出
  • 点击弹窗自带的"Cancel"按钮时无任何响应,无法正常终止循环
  • 此前尝试捕获Cancel按钮的返回值编写判断逻辑,始终未实现预期效果

实测可用方案

将代码中<second cond. for cancel>占位内容替换为$? == 1,即可实现点击Cancel按钮后正常终止循环、关闭弹窗的效果。
替换后的判断逻辑:

until [[ "$VAR" == "End" && $? == 1 ]]; do
  # 原有循环逻辑无需调整
done

内容的提问来源于stack exchange,提问作者Kawson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 18:27:04