我在存储文件(或besser文件名)的数组上有一个for循环for循环,我想显示一个zenity进度条,该栏显示for循环中的当前文件。
使用以下代码,我设法显示了zenity进度条,但仅显示"Running..."
,直到该数组中没有更多条目为止。
我该如何echo
整理文件?
if [ ${#FILES[@]} != 0 ] || die "No files to download"
then
(
for i in ${FILES[@]}
do
ssh -i $ID $SSH_OPT $HOST "scan Downloads/'$i'" && OK=true
if [ ! -v ${OK+x} ]
then
echo "Downloading $i"
scp $SSH_OPT $USER@$HOST:/home/$USER/Downloads/$i /home/$USER/Downloads/
ssh -i $ID $SSH_OPT $HOST "rm -f Downloads/$i"
else
echo "$i contains a virus."
ssh -i $ID $SSH_OPT $HOST "rm -f Downloads/$i"
fi
done
echo "100"
) | zenity --progress \
--title="Download from $HOST" \
--percentage=0
fi
答案 0 :(得分:1)
要更改“ Zenity”对话框中显示的文本,必须在消息前加上“#”前缀。 要更改进度条百分比,您只需要发送数字即可。
因此,您可以像这样回显指令:
then
echo "# Downloading ..."
echo "$i"
如果您愿意,可以将所有内容放在同一行上,如果您更喜欢这种易读性:
echo -e "# Downloading ...\n$i"