Foros del Web » Administración de Sistemas » Unix / Linux »

Barra de progreso al estilo wget

Estas en el tema de Barra de progreso al estilo wget en el foro de Unix / Linux en Foros del Web. Hola, Resulta que estoy haciendo un script en BASH para instalar unos paquetes a un amigo que no tiene internet y querria que mientras se ...
  #1 (permalink)  
Antiguo 24/12/2008, 11:22
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 16 años, 2 meses
Puntos: 6
Barra de progreso al estilo wget

Hola,

Resulta que estoy haciendo un script en BASH para instalar unos paquetes a un amigo que no tiene internet y querria que mientras se estan instalando los paquetes, apareciera una barra de progreso al estilo wget. Los paquetes los descargo yo y los meto en la carpeta con la que le paso el script, pero no se como hacer la barrita esta.

[============> ________________]50% (en lugar de _______ quiero que aparezca espacio vacio)

Más o menos algo asi, y que se fuera rellenando a medida que el progreso de instalacion se lleva a cabo.

Gracias por todos y espero haberme explicado bien.
Gonzo
  #2 (permalink)  
Antiguo 24/12/2008, 13:22
 
Fecha de Ingreso: julio-2003
Mensajes: 1.115
Antigüedad: 21 años, 3 meses
Puntos: 6
Respuesta: Barra de progreso al estilo wget

¿Que Distro?, si es Debian y derivados, especialmente Ubuntu, la instalación la puede realizar Synaptic y este presenta una barra de progreso.
  #3 (permalink)  
Antiguo 25/12/2008, 03:15
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 16 años, 2 meses
Puntos: 6
Respuesta: Barra de progreso al estilo wget

Es Ubuntu Hardy.

Es que no quiero usar Synaptic, me gustaria usar la consola
  #4 (permalink)  
Antiguo 25/12/2008, 05:14
 
Fecha de Ingreso: julio-2003
Mensajes: 1.115
Antigüedad: 21 años, 3 meses
Puntos: 6
Respuesta: Barra de progreso al estilo wget

Lo que pasa es que el equipo donde se van a instalar los paquetes, tiene que hacerlo bajo la tutela de APT, o sea con control de dependencias y para que puedea hacerlo, ese equipo tiene que tener instalado los índices de repositorios, pero al no tener internet, lo que se puede hacer es que les pases los tuyos, en rigor, solo xon tener dichos índices, es sufuciente para que un equipo sin internet esté en condiciones de instalar todo lo que quisiera, pues ya podría usar Synaptic para generar un Script de descargas que podrán efectuarse en cualquier plataforma, por ejemplo en un Cyber que cuente con Xp y una vez descargados los paquetes, vuelve a usar Synaptic para instalarlos y siempre bajo el control de dependencias de APT.
Para clonar los índices de repositorios, debes clonar los siguientes elementos:
1.- el archivo sources.list , situado en /etc/apt
2.- La carpeta sources.list.d, situada en /etc/apt
3.- La carpeta lists situada en /var/lib/apt
O sea reemplazando estos elementos por los de tu equipo y finalmente haciendo un sudo apt-get update , el equipo sin conexión ya tendrá clonados los archivos índices o índices de repositorios y con esto ya puede instalar todo lo que quiera , pero debe hacerlo pronto, por que los repositorios están en permanente actualización.
Resumiendo, recomiendo que te avoques a crear un Script para automatrizar el clonado de los índices, todo lo demás ya está implementado por Synaptic.
  #5 (permalink)  
Antiguo 27/12/2008, 08:31
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 16 años, 2 meses
Puntos: 6
Respuesta: Barra de progreso al estilo wget

Gracias santiago66, pero no era eso a lo que me referia.

Yo lo que quiero es que mientras que se esta ejecutando un comando (dije una instalacion, pero podria ser cualquier otro) se muestre una barra de progreso en lugar de los mensajes que aparecen con el propio comando de instalacion.

Probé con un bucle while, pero no me funciono...

Se te ocurre algo a ti?
Gracias,
Gonzo
  #6 (permalink)  
Antiguo 27/12/2008, 11:34
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 16 años, 2 meses
Puntos: 6
Respuesta: Barra de progreso al estilo wget

He conseguido hacer una barra de progreso pero no exactamente como la queria. Esta quita elementos, aunque de momento me sirve. Si alguien sabe hacerla al reves, que sume elementos hasta determinado numero, agradeceria que me lo dijera y como.

Gracias de nuevo,
Gonzo

Código shell:
Ver original
  1. #!/bin/bash
  2. # numero de columnas que aparecerán
  3. COLS=50
  4. # contamos hacia abajo
  5. for i in `seq $COLS -10 0`; do
  6. # movemos cursor al principio
  7. echo -n "\r"
  8. # borramos la linea
  9. tput el
  10. # presentamos "i" caracteres "#"
  11. for j in `seq 1 $i`; do  echo -n "#" ; done
  12. # esperamos 1 segundo
  13. sleep 1
  14. done
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:58.