web-dev-qa-db-fra.com

Faire écho à un backback

Est-il possible d'écho à une backpace dans Bash?

Quelque chose comme

echo $'stack\b'

Ne devrait pas produire stac? Ou je manque quelque chose?

Plus spécifiquement, j'aimerais utiliser cela dans:

ls | wc -l; echo $'\b items'
27
sidyll

Donc, pour répondre à la question réelle sur les backspaces cela simulera un retour arrière:

echo -e "\b \b"

Il déplacera le caractère en arrière, puis échouez un espace écrasant quel que soit le caractère existant, puis revenant à nouveau - en effet, en supprimant le caractère précédent. Cela ne reviendra pas une ligne, cependant, la sortie avant de ne pas créer de nouvelle ligne:

echo -n "blahh"; echo -e "\b \b"
5
rawbone

Ce n'est pas exactement ce que vous demandez, mais aussi, dans la ligne de réponse de Ignacio, vous pouvez utiliser pour cette affaire:

echo "$(ls | wc -l) items"

AFAIK Vous ne pouvez pas imprimer un personnage qui supprime celui-ci avant, même pas même l'impression du charme dont le numéro hexadecimanl est corrigé vers le retour arrière. Vous pouvez revenir en arrière et imprimer un espace vide pour supprimer, cependant. Avec Cut Vous pouvez faire de nombreuses choses et imprimer où que vous souhaitiez à l'écran.

1
Robert Vila