SSH und read(1)

From: Patrick Hess <patrick_hess(at)t-online.de>
Date: Mon, 16 Jun 2003 13:25:06 +0200

Hallo,

ich habe hier ein obsukres Problemchen.

Und zwar habe ich ein Skript, in dem der Benutzer aufgefordert
wird, eine beliebige Taste zu drücken, um das Skript fortzusetzen.
Das habe ich wie folgt arrangiert:

        read -n1 -s

Funktioniert soweit auch ganz prima. Wenn ich das Skript aber nun
mittels SSH auf einem anderen Rechner ausführen lassen will,
funktioniert das ganze nicht so recht. Ich mache also ein

        ssh $Rechner $Skriptname

und das Skript wird auf dem anderen Rechner gestartet. An der
Stelle aber nun, an der die obige read(1)-Zeile zum Einsatz kommt,
werden alle eingegebenen Buchstaben auf dem Bildschirm ausgegeben :-(
Erst wenn ich die Enter-Taste drücke, geht es weiter. Das ganze
verhält sich in diesem Falle also wie ein read(1), das ohne
jegliche Schalter aufgerufen wurde.

Das ist etwas nervig, denn auf dem Bildschirm lasse ich ausgeben,
man solle "eine beliebige Taste drücken". Über SSH wird die
"beliebige Taste" aber auf dem Bildschirm angezeigt. Da fühlt sich
der Benutzer veräppelt, wenn er dann doch Enter drücken muß.

Verwendet wird read(1) als Bash-Builtin, das Problem tritt mit
allen SSH-Hosts auf, die ich aufbringen kann - egal ob Linux oder
verschiedene FreeBSD-Versionen.

Komisch ist auch, daß das Problem nur auftritt, wenn ich der SSH
das auszuführende Programm *direkt* als Option mitgebe. Logge ich
mich aber per SSH erstmal ein und rufe dann das Skript innerhalb der
SSH-Session per Hand auf, funktioniert alles wie erwartet.

Hat jemand eine Idee, an was das liegt? Irgendetwas scheint die SSH
da zu vermurksen, ich komme aber nicht darauf, was das sein könnte.

-- 
Gruß,
Patrick
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 16 Jun 2003 - 13:40:10 CEST

search this site