as times goes by

Für den/die BenutzerIn ist es immer ganz angenehm, wenn sich auf den Bildschirm was bewegt damit er/sie weiß, das Programm läuft noch, auch wenn es etwas längert dauert.

In der GUI Welt wurden deshalb Dinge wie der Fortschrittsbalken oder die drehende Sanduhr eingeführt. Auf der Konsole helfen simple ASCII-Zeichen das Gefühl das sich was tut zu vermitteln.

Das kann dann beispielsweise so aussehen, wie in den folgenden beiden Beispielen. Statt

for a in `seq 1 100`; do
...

könnte man in einem Skript eine Reihe von Dateien verarbeiten

for file in `ls *.txt`; do
...

Und wenn in der Schleife wirklich was passiert, kann auch auf den sleep Befehl verzichtet werden.

 1 #!/bin/bash
 2 c=(\| \\ - \| / -)
 3 del=\b
 4
 5 echo -n "spinning wheel:  "
 6
 7 for a in `seq 1 100`; do
 8          let i=($a+1)%6
 9          echo -n ${c[$i]}
10          echo -ne $del
11          sleep 0.2
12 done
13
14 echo
15 echo -n "oder:  "
16
17 c=(. o 0 O)
18
19 for a in `seq 1 200`; do
20          let i=($a+1)%4
21          echo -ne $del
22          echo -n ${c[$i]}
23          sleep 0.1
24 done

~ von austernkommunikation am Dezember 25, 2008.

Eine Antwort schreiben