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
相关产品推荐
相关产品推荐

