Si je me souviens bien, ^H
signifie Retour arrière . Je l'ai généré en appuyant sur CTRL+V , CTRL+H .
Donc le ^H
doit supprimer le dernier caractère, car il est identique à Retour arrière et il devrait agir comme si j'appuyais sur Retour arrière à ce poste.
Pourquoi la sortie de echo abc^H
reste abc
et non ab
?
Réponse acceptée :
retour arrière ne fait que déplacer le curseur vers l'arrière.
retour arrière (ou supprimer ou n'importe quel caractère selon la configuration) supprime le dernier caractère imprimé uniquement lorsque ces conditions sont remplies :
- il est tapé sur le clavier, pas une sortie de commande comme
echo
dans votre exemple - le terminal est en mode cuit (le cas habituel)
Si vous voulez effacer le c dans votre exemple, vous devez le remplacer par un autre caractère, par exemple :
echo "abc^H "