Wie kann ich den Spinner zeigen, bis die Befehlszeile fertig ist? Mit anderen Worten: Wenn ich ein Skript ausführe und den Spinner anzeigen möchte, während dieses Skript ausgeführt wird, und der Spinner verschwindet, wenn das Skript beendet ist, ist es ein Job.
Bellow ist ein gängiger Spinner-Code:
i=1
sp="/-\|"
echo -n ' '
while true
do
printf "\b${sp:i++%${#sp}:1}"
done
Wie kann ich den vorherigen Spinner-Code mit einem Befehl verknüpfen, damit er den Spinner anzeigt, während der Befehl ausgeführt wird und der Spinner verschwindet, wenn der Befehl beendet ist? Wenn ich den Befehl in die Schleife einbinde, wird er mit dem Spinner wiederholt. Was ist in diesem Fall die Lösung?
Dieses Shell-Skript sollte das tun, wonach Sie suchen:
Angenommen, Sie speichern das Shell-Skript in einer Datei mit dem Namen
spinner
, können Sie es wiesleep 10
folgt aufrufen, um einen Spinner anzuzeigen, während der Befehl ausgeführt wird:quelle
spinner
, also nein. Ich denke, das Beispiel ist richtig, vorausgesetzt, Sie nennen das Skriptspinner
.Wenn Sie einen Spinner mit dem kleinsten gemeinsamen Nenner möchten, der mit / bin / sh funktioniert und sich nicht auf die erweiterte Bash-Parameterersetzung verlässt, sollte dies funktionieren:
quelle
Hier ist ein weiterer ausgefallener Spinner, den Sie so verwenden können:
Es hat 12 Themen und wählt eines zufällig aus.
quelle