Ich weiß nicht, wie ich den TAB-Schlüssel dazu bringen soll, Dateinamen, Befehle oder irgendetwas automatisch zu vervollständigen.
Ich arbeite auf einem Unix-ähnlichen System (OS / 390) und bin auf mehrere Skripte angewiesen, die in sh (Bourne-Shell, nicht BASH), aber nicht in anderen Shells (z. B. tcsh) funktionieren, sodass ich die Shells nicht wechseln kann . Normalerweise verbinde ich mich über ssh oder telnet über das GNOME-Terminal von Ubuntu, auf dem bash lokal ausgeführt wird, mit diesem System. Andere Personen stellen über Telnet über die Windows XP-Eingabeaufforderung eine Verbindung zum OS / 390-System her und können nach Ausgabe von "set -o emacs" automatisch mit der TAB-Taste vervollständigen. Wenn ich "set -o emacs" ausstelle, erhalte ich einige der entsprechenden Funktionen (z. B. Strg-p, um den Verlauf rückwärts zu durchlaufen), jedoch nicht automatisch.
Mir ist die Option "set -o vi" bekannt, aber die Verwendung von "ESC- *" usw. spricht mich nicht an, da ich weiß, dass die einfache TAB-Taste für andere Personen funktioniert.
Gibt es etwas an Ubuntu, dem GNOME-Terminal, Bash oder SSH, das ein anderes Tabulatorzeichen sendet als eine Windows XP-Eingabeaufforderung, auf der Telnet ausgeführt wird?
Hat jemand eine Idee, warum ich möglicherweise nicht in der Lage bin, die Registerkarte für die automatische Vervollständigung zu aktivieren, während Personen auf demselben Remotecomputer, auf denen dieselbe Shell ausgeführt wird, dies können?
Was ist zu tun, um die automatische Vervollständigung der Registerkarte zu aktivieren ?
quelle
Wenn Sie
set -o emacs
eine Fehlermeldung ausgeben können und diese nicht erhalten, verwenden Sie höchstwahrscheinlich nicht dasbourne shell
ksh-Derivat.Die Korn-Shell wird mit ESC automatisch vervollständigt. Haben Sie das versucht?
Übrigens: Wenn Sie wirklich gerne eine Bourne-Shell mit einem Verlaufseditor und mit Dateinamenvervollständigung verwenden, können Sie meine tragbare Bourne-Shell ausprobieren in:
http://sourceforge.net/projects/schilytools/files/
Da dies eine Bourne-Shell ist, die von sbrk () nach malloc () konvertiert wurde, wird sie in Nicht-UNIX-Umgebungen ausgeführt.
Möglicherweise gibt es immer noch Probleme mit der Portierung:
Wenn Ihre OS / 390-Umgebung EBCDIC verwendet, müssen die ctype * -Dateien bearbeitet werden.
Wenn Ihre Umgebung weder fork () noch eine OpenVMS-ähnliche vfork () -Emulation unterstützt, gibt es möglicherweise keine Möglichkeit, sie ohne einige Tage Aufwand kompilieren und ausführen zu lassen.
Unter http://schillix.sourceforge.net/man/man1/bosh.1.html finden Sie eine schnelle Überprüfung der Funktionen.
quelle