O Backspace não é destrutivo por si só, embora a maioria dos editores (e até mesmo a linha de comando) faça com que pareça assim. O que realmente acontece é que esses programas, enquanto interativos, fazem o backup do cursor, então eles escrevem um espaço e fazem backup novamente para posicionar o cursor corretamente.
Assim, a sua linha pode ser echo -e "abc\b \b"
e funcionaria então.
Você pode testar isso fazendo echo -n -e "abc\b"
(o -n remove o salto automático para a próxima linha). Seu prompt agora irá sobrescrever o 'c'.
Isso é um pouco semelhante a \n
, o que significa ir para a próxima linha (mas não para a margem) e \r
, que está indo para a margem (mas não para a próxima linha). Os sistemas operacionais interpretam esses caracteres de maneira diferente (o Unix adiciona uma próxima linha a \ n, o DOS tem os dois caracteres, etc).