Eine weitere Alternative ist die Verwendung des Dienstprogramms ansicon, das sich zwischen Konsole und Plink befindet und ANSI-Farbcodes im Handumdrehen übersetzt:
$ ansicon.exe plink.exe user@host
Wenn ich ein "ls -l" auf meiner Linux-Box über PuTTY mache, ergibt dies eine saubere, schön farbige Ausgabe.
Wenn ich dasselbe programmgesteuert über Plink versuche, bekomme ich alle möglichen Kontrollsequenzen, die wahrscheinlich diese Farbwerte bedeuten.
Kann ich die Terminaloptionen irgendwie so einstellen, dass diese zusätzlichen Sequenzen für die Farben nicht gesendet werden und nur Text ausgegeben wird?
[00mtotal 8956 drwxr-xr-x 8 pradymn users 4096 2010-07-23 12:29 [01;34mtestsb1[00m drwxr-xr-x 5 pradymn users 4096 2010-07-24 22:49 [01;34mtest1[00m -rw-r--r-- 1 pradymn users 9143013 2010-07-24 23:03 [00;31mtest1.tar.gz[00m
Eine weitere Alternative ist die Verwendung des Dienstprogramms ansicon, das sich zwischen Konsole und Plink befindet und ANSI-Farbcodes im Handumdrehen übersetzt:
$ ansicon.exe plink.exe user@host
Dies hängt wahrscheinlich damit zusammen, wie Sie Ihre Farben so einstellen, dass Farben angezeigt werden. Wenn Sie das posten können, sind wir möglicherweise hilfreicher.
Ich empfehle Folgendes in Ihrer bevorzugten Shell-Profildatei (.bashrc): alias ls="ls --color=auto"
Wenn Sie keine Farbausgabe wünschen, können Sie alternativ ls aufrufen --color=never
So fügen Sie Robs Antwort hinzu:
Die ANSI-Escape-Sequenzen müssen von einem Terminalemulatorprogramm (oder von einem echten Hardware-Terminal) interpretiert werden . PuTTY ist in einem Programm sowohl ein Terminalemulator als auch ein SSH-Client.
Ist plink
aber nur ein SSH-Client, der für die Übertragung binärer Rohdaten entwickelt wurde; es nicht . ANSI - Sequenzen interpretiert, übergibt sie nur an das Terminal es in läuft unter Windows ist das Terminal die Windows - Konsole - und ANSI nicht entweder unterstützen.
Wenn Sie SSH von der Befehlszeile aus verwenden möchten, probieren Sie die Cygwin-Version von OpenSSH. PuTTY kann auch von der Kommandozeile aus gestartet werden.
You could remove ANSI escape sequences with the following java regex (for exemple):
\\[..;..[m]|\\[.[m]|\\(Page \\d+\\)|\u001B\\[[K]|\u001B|\u000F