代码之家  ›  专栏  ›  技术社区  ›  Nico

将数据从for循环传递到zenity进程

  •  0
  • Nico  · 技术社区  · 8 年前

    使用下面的代码,我成功地显示了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
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Bsquare ℬℬ    8 年前

    若要更改“zenity”对话框中显示的文本,必须在邮件前面加“#”。 要更改进度条百分比,只需发送数字。

        then
            echo "# Downloading ..."
            echo "$i"
    

            echo -e "# Downloading ...\n$i"
    
    推荐文章