Mostrar y actualizar un contador en bash

Creo que es algo como esto: (Fedora14 / bash)

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

Pero no funciona. Propósito: así, pero sin el «claro»:

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

Entonces, un script de conteo que no borra toda la pantalla para generar +1 número, en su lugar solo borra la línea, donde está el conteo, de modo que podría haber por ejemplo: una hermosa «barra de progreso» ..

Responder

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

No necesita ..1 para el ancho de paso 1 que es el predeterminado.

echo -n 

evita las nuevas líneas.

\r está volviendo al comienzo de la línea (sin nueva línea – \n), y es mejor que mi anterior » \ b «para retroceder un solo carácter, poco práctico, si tiene más de un dígito-números. Gracias a rozcietrzewiacz.

Respuesta

¿Estás buscando algo como esto?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *