[bash]prymitywny pasek postępu

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
woseba
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 153
Rejestracja: 19 lis 2008, 11:17
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86_64

[bash]prymitywny pasek postępu

Post autor: woseba »

Mam skrypt, który po załadowaniu na klienta pobiera z serwera ftp określone pliki, w sumie żadna filozofia. Jednak jest to o tyle okrojony klient, że wget nic nie wskazuje (nie ma trybu verbose). Chodzi mi o stworzenie w skrypcie paska postępu, tylko czy to wogole wykonalne...
Bees
Piegowaty Guziec
Piegowaty Guziec
Posty: 10
Rejestracja: 16 kwie 2008, 15:06
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma
Kontakt:

Odp: [bash]prymitywny pasek postępu

Post autor: Bees »

Doinstaluj sobie dialog lub kdialog (większe możliwości) jeśli nie posiadasz; spróbuj wkomponować:
DIALOG=${DIALOG-dialog}
(echo "10" ; sleep 2 ;

echo "XXX";
echo "Wykonanie skryptu"
echo "\\n"
echo "Prosze czekac";
echo "XXX";
echo "20"
sleep 2;

echo "75" ; sleep 1
echo "100") | \

$DIALOG --title "Okno" --gauge "paska postepu" 10 40 0
Pozdrawiam, Bees!
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: [bash]prymitywny pasek postępu

Post autor: el.pescado »

Kod: Zaznacz cały

for i in `seq 10`
do
    echo -n "#"
    sleep 1
done
bardziej zaawansowany przykład:
for i in `seq 100`; do echo -en "\r$i% "; for j in `seq $i`; do echo -n "#"; done; sleep 1; done
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 4 gości