Sie können das gesamte eingegebene Passwort mit Strg löschen +U .
Im Gegensatz zu bash
, ssh
Die Passwortabfrage von verwendet keine spezielle Terminal-Eingabebibliothek wie readline
. Die Zeilenbearbeitungsfunktionen sind nur die grundlegenden POSIX TTY-Zeilenbearbeitungsfunktionen.
Sie haben also ein POSIX-TTY im "gekochten" Modus (nicht roh), auch bekannt als kanonischer Modus, und die einzige verfügbare Zeilenbearbeitung ist die, die vom Kernel bereitgestellt wird. Siehe stty(1)
, und beachte das
kill = ^U
. Hier wird auch das Backspace-Zeichen definiert (erase = ^?
). Wortlöschung (^W
) ist praktisch, wenn Sie nicht blind tippen.
lnext = ^V
bedeutet, dass Sie Strg-v und dann alles (einschließlich Strg-c) eingeben können, um ein wörtliches Strg-c zu erhalten.
Um zu debuggen, was Sie blind tun wollten, führen Sie cat
aus oder cat > /dev/null
in Ihrem Terminal . Geben Sie etwas ein und sehen Sie dann, was funktioniert und was nicht, um es zu bearbeiten.
readline
(verwendet von bash
) liest Rohzeichen und bearbeitet die Zeile im Benutzerbereich. Seine Standardbindungen sind jedoch mit den Standard-TTY-Steuerzeichen für die Teilmenge der Bearbeitungsfunktionen kompatibel, die sie beide bereitstellen.
readline geht weit über die einfache Zeilenbearbeitung eines einfachen TTY hinaus. (z. B. kann ein TTY nur Zeichen am Ende der Zeile löschen, also gibt es kein ^a
und delete
oder Links-/Rechtspfeil)
Wenn bash
einen Befehl im Vordergrund ausführt, wird das TTY zuerst in den kanonischen Modus versetzt (weil dies die Standardeinstellung ist). Also stty -a
ausführen (ohne Umleitung) sieht immer sein eigenes Terminal im kanonischen Modus. Aber wenn Sie Eingaben von einem anderen TTY mit bash
umleiten Wenn Sie darauf laufen, können Sie sehen, welche Terminaleinstellungen bash + readline angewendet haben. z.B. stty -a < /dev/pts/12
zeigt -icanon
für den Rohmodus, weil ich einen bash
habe läuft auf diesem Terminal. (Ich habe zu einem anderen Tab gewechselt und tty
ausgeführt , dann diesen Gerätedateipfad vom ersten Terminal verwendet). Wenn ich cat
laufen lasse In diesem anderen Terminal würde ich icanon
sehen für den kanonischen Modus.
Siehe auch:Das entmystifizierte TTY
https://www.gnu.org/software/libc/manual/html_node/Canonical-or-Not.html
https://en.wikipedia.org/wiki/POSIX_terminal_interface