Afficher et mettre à jour un compteur dans bash

Je pense que cest quelque chose comme ça: (Fedora14 / bash)

#!/bin/bash for i in {0..10..1}; do echo -e "$i""\c" echo -e "\n\r" sleep 1 done 

Mais ça ne marche pas. Objectif: comme celui-ci, mais sans le « clear »:

#!/bin/bash for i in {0..10..1}; do echo -e "$i" sleep 1 clear done 

Donc, un script de comptage qui ne supprime pas tout lécran pour afficher le numéro +1, à la place il ne supprime que la ligne, où se trouve le comptage, pour quil puisse y avoir ex.: une « barre de progression » complète.

Réponse

for i in {0..15}; do echo -ne "$i""\r"; sleep 1; done; echo 

Vous navez pas besoin de ..1 pour stepwidth 1 qui est la valeur par défaut.

echo -n 

empêche les sauts de ligne.

\r revient au début de la ligne (sans nouvelle ligne – \n), et mieux que mon anciennement  » \ b « pour reculer dun seul caractère, peu pratique, si vous avez plus dun chiffre-nombres. Merci à rozcietrzewiacz.

Réponse

Cherchez-vous quelque chose comme ça?

for i in {1..10}; do printf "\r%2d" $i sleep 1 done printf "\n" 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *