Según recuerdo, ^H
significa Retroceso . Lo generé presionando CTRL+V , CTRL+H .
Así que el ^H
debe eliminar el último carácter, ya que es lo mismo que Backspace y debería actuar como si hubiera presionado Retroceso en esta posición.
¿Por qué la salida de echo abc^H
permanecer abc
y no ab
?
Respuesta aceptada:
retroceso solo está moviendo el cursor hacia atrás.
retroceso (o eliminar o cualquier carácter dependiendo de la configuración) borra el último carácter impreso solo cuando se cumplen estas condiciones:
- se escribe en el teclado, no en una salida de comando como
echo
en tu ejemplo - el dispositivo terminal está en modo cocinado (el caso habitual)
Si desea borrar el c en su ejemplo, debe sobrescribirlo con otro carácter, por ejemplo:
echo "abc^H "