shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] script de download


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] script de download
Date: Sun, 23 Oct 2005 13:33:25 -0200

Aos entusiastas,

Dei uma cara final ao script, deixei um case proposital para adicionar
novas funcionalidades.

Será interessante alterar o script para usarmos uma lista de URLs para
downloads, de um arquivo texto por exemplo ou pegar mirrors de sites,
etc. Melhor ainda, fazer todas as interfaces por dialog. ;-)

Entretanto eu não consegui pegar o PID do wget pelo $!, não sei por
que. Mas quando executamos o wget -b ele informa qual o PID do
processo em background. Adicionando ao genial --pid do tail (vivendo e
aprendendo... valeu Mr Bits!) o script chega em 100% e termina.

#!/bin/bash

SCRIPT=$(basename $0)
USAGE="usage $SCRIPT -u URL"

error(){ echo -e "$1" ; exit 1 ; }

[ "$1" ] || error "$USAGE"

while [ "$1" ]
do case "$1" in
 -u) shift; TARGET="$1" ; shift ;;
 *) usage ;;
 esac
done
[ "$TARGET" ] || error "Error! URL missing!\n$USAGE"

LOG="wget-log"
FILE=$(basename "$TARGET")
URL=$(dirname "$TARGET")
TITLE="Conectando a $URL"
MSG="Realizando Download de $FILE"

rm -f $LOG
PID="$( wget -o $LOG -b $TARGET  | awk '/pid/{print $5}' | tr '.' '
')"

trap "kill $PID" 2 15

perc() { echo "$1" | grep '%' | cut -f 2 -d K | cut -d % -f 1 | sed
's/[^0-9]//g' ; }

do_gauge() { tail -f $LOG --pid=$PID | while read L ; do perc "$L" ; done ; }
( do_gauge ) | dialog --title "$TITLE" --gauge "$MSG" 8 40 0

Em 23/10/05, MrBiTs<address@hidden> escreveu:
>  /*
>  pow mano parabes mesmo muito obrigado resolveu, so deu um erro, pois o
>  arquivo wget-log precisa de permissao para ser lido, porem depois de
>  adcionada a permissao o arquivo funciona que é uma coisa linda.
>  */
>
>  Estranho, já que ele vai ser criado com as permissões do usuário que
>  rodou o wget e vai ser lido pelo tail rodado pelo MESMO usuário (
>  tipicamente o usuário que rodou o script ). Mas... fico feliz que tenha
>  funcionado. Correções e improvements are welcome :)
>
>
>  [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
> ---------------------------------------------------------------------
>  Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
>  Sair da lista: address@hidden
> ---------------------------------------------------------------------
>  Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
>
>
>
>  Yahoo! Grupos, um serviço oferecido por:
>
>  ________________________________
>  Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]