Ich habe ein Bash-Skript, mit dem ich ssh
eine Verbindung zu einem anderen Server herstelle und dort einige Befehle ausführe. Ich habe auf einigen Websites festgestellt, dass error ( Warning: no access to tty (Bad file descriptor).
Thus no job control in this shell.
) eine freundliche Meldung ist, aber mein Bash-Skript "hängt". Nachdem diese Meldung angezeigt wurde, werden keine weiteren Befehle ausgeführt. Andere Foren sollen verwendet werden ssh -t
, um die Nachricht zu unterdrücken, aber es funktioniert nicht für mich. Mein Code sieht ungefähr so aus:
.
.
.
stty -echo
sshpass "pwd" ssh -o StrictHostKeyChecking=no usr@1.1.1.1 'su -lc "rm -rf tmp"' 2>/dev/null
stty echo
.
.
.
Der Grund, warum ich verwende, stty-echo
ist, dass ich Benutzer zu root wechseln muss und das Passwort auf dem Terminal angezeigt wird (was ich nicht möchte). Ich erhalte die Fehlermeldung ( Warning: no access to tty (Bad file descriptor). Thus no job control in this shell.
), nachdem ich das Passwort für root auf dem Verbindungsserver eingegeben habe (ip: 1.1.1.1).
Irgendwelche Vorschläge? Lassen Sie mich wissen, wenn weitere Erklärungen erforderlich sind. Vielen Dank! (Meine Version von Bash ist GNU Bash Version 3.2.51 (1))
Die Fehlermeldung, die ich beim Entfernen erhalte, 2>/dev/null
lautet:
Warning: no access to tty (Bad file descriptor).
Thus no job control in this shell.
stty: standard input: Invalid argument