zt 弹窗命令——Toast、确认框、编辑框三种
Toast 通知
Toast 是最轻量的提示,屏幕上短暂出现几秒就自动消失,不会阻塞脚本执行:
zt toast "这里写要显示的内容"
Toast 适合:
- 脚本开始时提示一下
- 脚本结束时告知成功/失败
- 长时间任务进度通知(每秒刷一个 toast 不太好,建议每 N 秒一次)
确认弹窗
zt dialog -c -t "标题" -m "消息内容"
-c 表示 Confirm,弹窗有「确定 / 取消」两个按钮。脚本会阻塞在这一行直到用户点击。
适合需要用户确认的操作,比如删除、覆盖、危险命令执行前。
通知弹窗
zt dialog -s -m "消息内容"
-s 表示 Simple,只有一个确定按钮。脚本会阻塞直到用户点击确定。
适合重要信息提示,但不需要用户做选择。
编辑弹窗
zt dialog -e -t "请输入"
-e 表示 Edit,弹窗里有一个输入框。用户输入后点确定,输入内容会输出到脚本的 stdout。
可以这样接收:
result=$(zt dialog -e -t "请输入文件名")
echo "你输入了: $result"
完整参数表
| 参数 | 说明 |
|---|---|
| -c | 确定/取消模式 |
| -s | 通知模式(只有确定) |
| -e | 编辑模式(带输入框) |
| -t | 标题文本 |
| -m | 消息文本 |
注意事项
- 弹窗会阻塞终端直到用户操作。如果脚本要长时间后台运行,不建议用 dialog,用 toast 或写日志文件。
- dialog 返回的退出码:确定 = 0,取消 = 非 0。可以在脚本里判断:
zt dialog -c -t "确认删除" -m "删除后无法恢复"
if [ $? -eq 0 ]; then
echo "用户点了确定"
else
echo "用户取消了"
fi