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 "