Isso não tem nada a ver com o comando echo
. Você veria esse mesmo comportamento se escrevesse a saída usando cat
, printf
ou algum outro programa. Este é um aspecto do seu terminal .
E os terminais podem diferir entre si nesse aspecto. O banco de dados terminfo terá ou não terá, para o seu terminal, um recurso auto_left_margin
, conhecido como bw
no termcap. Isso indica aos programas se o backspace pode ser usado para contornar a margem esquerda, como acontece em alguns terminais. Se você tivesse usado um terminal com margens automáticas à esquerda, o c
teria aparecido na linha anterior.
E se você tivesse reprogramado suas tabstops, teria visto um comportamento ainda mais diferente.
Coisas interessantes podem acontecer quando se combina TAB
e BS
, a propósito. O aviso de 25 anos no manual termcap sobre o retrocesso na margem quando não há capacidade de margem esquerda automática relatada ou quando o cursor está na primeira linha, reimpresso em todos os lugares da System V Interface Definition para o manual do FreeBSD, pode parecer estranho e exagerado à primeira vista; mas o mundo tem o conhecido processamento de código de controle de terminal que não acertou isso completamente.
Leitura adicional
- Zeyd M. Ben-Halim, Eric S. Raymond e Thomas E. Dickey. terminfo . Páginas do Manual do FreeBSD.
- link
- Jonathan de Boyne Pollard (2001). O erro de backspace do CSRSS no Windows NT 4 / NT 2000 / NT XP. . Respostas frequentemente dadas.