Je pratiquais la commande echo avec l'option \r
(retour chariot) comme ci-dessous.
echo -e "This is \r my college"
production:
my college
mais quand j'ajoute un mot de plus avant \r
comme ci-dessous
echo -e "This is the \r my college"
Ensuite, cela me donne une sortie comme:
my college the
Un autre exemple
echo -e "This is \r valid data"
valid data
echo -e "This is not a \r valid data"
valid data a
Donc, je voulais savoir quel est le but réel du retour en chariot ici?
Le \r
est juste cela, un "retour chariot" - rien d'autre. Cela signifie ce qui se trouve après le \r
remplacera le début de ce qui a déjà été imprimé.
Par exemple:
echo -e "1234\r56"
Affichera:
5634
echo
a imprimé 1234
puis est retourné au début de la ligne et a imprimé 56
par-dessus 12
.
Pour une nouvelle ligne, essayez \n
au lieu. Pas besoin d'espace non plus. Par exemple:
echo -e "This is\nmy college"
Qui produira:
This is
my college
Le retour chariot est utile pour des choses comme ceci:
#!/bin/sh
i=0
while [ $i -lt 3 ]
do
echo -ne "\r"`date` #you should remove new line too
sleep 1
i=$(($i + 1))
done
exit
Ce qui affichera date
au-dessus de lui-même au lieu de créer une nouvelle ligne après chaque boucle.