Wie kann ich die Ausgabe von 'echo' verlangsamen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Interessante Aufgabenstellung in einer schnelllebigen Zeit. Da muss ich unweigerlich an den alten Apple IIe denken.

Leider kenne ich auch keine geheime Optionen von "echo" oder der Alternative "printf".

Habe aber in einem alten Thread  des ubuntuforums folgenden Vorschlag für ein Bash-Script mit dem sinnigen Namen "slowecho" gefunden:

#!/bin/bash
#
# slowecho -- a bash script that echoes its argument one character
# per second.
#
arg=${@}
for (( i=0; i < ${#arg}; i+=1 )) ; do
echo -n "${arg:$i:1}"
sleep 1
done
echo
Kerridis  27.09.2015, 15:51

An printf als Alternative hatte ich auch zuerst gedacht - aber Pustekuchen. Insofern kommt man wohl um ein Script nicht herum.

Ich habe etwas ähnliches unter der Bezeichnung "typewriter" gefunden :).

0
Linuxhase 
Fragesteller
 27.09.2015, 17:33

@bmke2012

slowecho

Das Script arbeitet wie es soll, habe die Wartezeit auf 0.5 gesetzt und was ausgegeben wird ist identisch mit dem was ich erreicht hatte.  :-)

Mir gefällt nur nicht das ich den Text als Argument übergeben muss. Das Ganze soll Teil eines umfassenderen Scripts sein.

Interessante Aufgabenstellung in einer schnelllebigen Zeit.

Ja das ist wahr. Ich bin darauf gekommen als ich mir cool-retro-term angesehen habe.

Linuxhase

0
bmke2012  28.09.2015, 20:09
@Linuxhase

Mir gefällt nur nicht das ich den Text als Argument übergeben muss.

Verstehe ich jetzt nicht so ganz?! "echo" bekommt seinen auszugebenden Text doch auch als Argument?

0
Kerridis  27.09.2015, 15:48

Natürlich dann mit "typewriter "$1" .1" im Script statt "typewriter "Typewriters are cool." .1" 

Aber das hast du dir sicherlich schon gedacht ;).

Edit: Und ich hätte die Seite mal aktualisieren sollen, die Antwort von bmke2012 hatte ich gar nicht gesehen...


1
Linuxhase 
Fragesteller
 27.09.2015, 21:05

@Kerridis

So? ...://stackstackoverflow.com/questions/10458743/bash-reading-text-from-a-string-one-character-at-a-time-with-whitespace

Das sieht aus als wenn ich das in meinem Script verarbeiten kann, danke. War auch schwer mit den Suchbegriffen ans Ziel zu kommen.

Aber das hast du dir sicherlich schon gedacht ;).

Klar, aber die Variante die dort vorgestellt wurde gibt mir die Möglichkeit einen Text via <<EOF zu übergeben. Vor allem das ich mit typewriter "Text" .1 die Geschwindigkeit auch regeln kann.

Jetzt will ich nur noch sehen ob ich die Pausenzeit zwischen den Buchstaben per random variieren lassen kann.

Linuxhase

1