Progress bar mutatása shell szkript futtatásakor

    A Zenity modul segítségével állapot dialógus jeleníthetó meg a shell script futásának állapotáról, akár soronként visszajelzést adhatunk a felhasználónak.

    1. Lépés

    A Zenity és wmctrl modulok letöltése:

    sudo apt-get install zenity
    sudo apt-get install wmctrl
    

    Kézikönyv: https://help.gnome.org/users/zenity/stable/

    2. Lépés

    A shell script megírása:

    #!/bin/bash
    
    # Hogy a Zenity státusz dialógus mindig felül legyen
    sleep 1 && wmctrl -r "Progress Status" -b add,above &
    
    (
    # =================================================================
    echo "# Első feladat futtatása..." ; sleep 2
    # Másold ide az első feladat kódját.
    
    # =================================================================
    echo "25"
    echo "# Második feladat futtatása..." ; sleep 2
    # Másold ide a második feladat kódját.
    
    # =================================================================
    echo "50"
    echo "# Harmadik feladat futtatása..." ; sleep 2
    # Másold ide a harmadik feladat kódját.
    
    # =================================================================
    echo "75"
    echo "# Negyedik feladat futtatása..." ; sleep 2
    # Másold ide a negyedik feladat kódját.
    
    # =================================================================
    echo "99"
    echo "# Ötödik feladat futtatása..." ; sleep 2
    # Másold ide a negyedik feladat kódját.
    
    # =================================================================
    echo "# Kész." ; sleep 2
    echo "100"
    
    
    ) |
    zenity --progress \
      --title="Progress Status" \
      --text="First Task." \
      --percentage=0 \
      --auto-close \
      --auto-kill
    
    (( $? != 0 )) && zenity --error --text="Hiba a Zenity parancsban."
    
    exit 0

    Forrás: http://ubuntuforums.org/showthread.php?t=2172828

    Tags: ,