GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum gibt `echo Abc^h` nicht einfach `ab` aus?

Soweit ich mich erinnere, ^H bedeutet Backspace . Ich habe es durch Drücken von CTRL+V generiert , STRG+H .

Also der ^H sollte das letzte Zeichen entfernen, da es dasselbe ist wie Backspace und es sollte genauso funktionieren, als ob ich Backspace gedrückt hätte an dieser Stelle.

Warum die Ausgabe von echo abc^H bleiben abc und nicht ab ?

Akzeptierte Antwort:

Rücktaste bewegt den Cursor nur rückwärts.

Rücktaste (oder löschen oder welches Zeichen je nach Konfiguration) löscht das letzte gedruckte Zeichen nur, wenn diese Bedingungen erfüllt sind:

  • es wird auf der Tastatur eingegeben, keine Befehlsausgabe wie echo in deinem Beispiel
  • das Endgerät befindet sich im Cooked Mode (der Normalfall)

Wenn Sie die Datei c löschen möchten in Ihrem Beispiel müssen Sie es mit einem anderen Zeichen überschreiben, zum Beispiel:

echo "abc^H "

Linux
  1. Warum wird die Tilde (~) nicht innerhalb doppelter Anführungszeichen erweitert?

  2. Warum erkennt das Bash-Skript keine Aliase?

  3. Linux:Gibt in jeder Zeile einen bestimmten Zeichenbereich aus

  4. Warum verwenden wir su - und nicht nur su?

  5. Warum sollte jemand FreeBSD gegenüber Linux wählen?

Warum zeigt „weniger“ keine fette Ausgabe?

Shell-Programm, um einfach einen Zeichentreiber zu öffnen und zu warten?

Warum funktioniert Cryptkeeper nicht in 12.04?

6 Gründe, warum Linux nicht mehr Apps hat

So lesen Sie nur ein einzelnes Zeichen in Shell-Skript

Warum können Sie CD-Audio nicht einfach wie eine gewöhnliche Daten-CD hinzufügen?