GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué `echo Abc^h` no solo imprime `ab`?

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 "

Linux
  1. ¿Por qué la expresión regular funciona en X pero no en Y?

  2. ¿Por qué no 'encuentra' Mostrar este archivo?

  3. Linux:¿por qué usamos Su y no solo Su?

  4. Cómo leer un solo carácter en el script de Shell

  5. ¿Por qué no puede simplemente agregar CD Audio como un CD de datos ordinario?

¿Por qué `less` no muestra la salida en negrita?

¿Por qué Cryptkeeper no funciona en 12.04?

6 razones por las que Linux no tiene más aplicaciones

Linux:imprime un rango de caracteres específico en cada línea

¿Por qué usamos su - y no solo su?

¿Por qué alguien elegiría FreeBSD sobre Linux?