进度框

使用 --progress 选项创建一个进度对话框。

Zenity 从标准输入一行行读取数据。如果某一行以 # 开头,进度框里的文本会被那一行上的文本替换,如果某一行只是一个数字,数字会被换成进度条的百分比。

进度框支持以下选项:

--text=文本

指定显示在进度框里的文本。

--percentage=百分比

指定进度框开始时的百分比设定。

--auto-close

当达到 100% 时自动关闭对话框。

--pulsate

指定进度条跳动,直到从标准输入读到一个 EOF 文件结束符。

下面的脚本示范了如何创建一个进度对话框:

#!/bin/sh
(
echo "10" ; sleep 1
echo "# 更新邮件日志" ; sleep 1
echo "20" ; sleep 1
echo "# 复位定时计划任务" ; sleep 1
echo "50" ; sleep 1
echo "该行会被忽略" ; sleep 1
echo "75" ; sleep 1
echo "# 重启系统" ; sleep 1
echo "100" ; sleep 1
) |
zenity --progress \
  --title="更新系统日志" \
  --text="扫描邮件日志..." \
  --percentage=0

if [ "$?" = -1 ] ; then
        zenity --error \
          --text="更新被取消。"
fi

进度框范例

Zenity 进度对话框范例