使用 --progress 选项。
TeliuTe
teliute@163.com 2010
tuhaihe
1132321739qq@gmail.com 2012

# 进度框

使用 --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
进度对话框范例