Es sieht aus wie ein Wagenrücklauf vs.
Ihr aktives Terminal stimmt möglicherweise nicht mit dem Remote-System überein, und einige automatische Übersetzungen könnten falsch sein. Sie können beide Systeme mit dem Befehl stty (1) vergleichen .
Aus der Expect- Dokumentation:
Wenn Sie in diesem Fall die Eingabetaste drücken, wird sie in eine neue Zeile übersetzt. Wenn Expect das dann an ein Programm weiterleitet, das sein Terminal in den Roher-Modus versetzt (wie Telnet), gibt es ein Problem, da das Programm eine echte Rückkehr erwartet.
Anstatt Zeilenumbrüche manuell durch Zeilenumbrüche zu ersetzen, verwenden Sie den Befehl "stty raw", um die Übersetzung zu stoppen. Beachten Sie jedoch, dass Sie dadurch nicht mehr die gekochten Bearbeitungsfunktionen für Zeilen erhalten.
Ich schlage vor, dass Sie versuchen, die \r
durch \n
in Ihrem Code zu ersetzen . Wenn das immer noch nicht funktioniert, müssen beide möglicherweise \r\n
funktionieren. Wenn es immer noch nicht funktioniert, müssen Sie den Terminal-Modus beider Systeme und die Folgen der Wagenrückläufe und der Zeilenumbrüche überprüfen, wenn sie hin und her gehen.
Dies setzt natürlich voraus, dass Sie die richtigen Passwörter haben! ;)