Questo è uno script per il download che utilizza wget e zenity, quindi crea una finestra di dialogo dove inserire il link da scaricare, inoltre supporta il resume nel caso si annullasse la procedura di download.
DOWNLOAD() {
rand="$RANDOM `date`"
pipe="/tmp/pipe.`echo '$rand' | md5sum | tr -d ' -'`"
mkfifo $pipe
wget -c $1 2>&1 | while read data;do
if [ "`echo $data | grep '^Length:'`" ]; then
total_size=`echo $data | grep "^Length:" | sed 's/.*\((.*)\).*/\1/' | tr -d '()'`
fi
if [ "`echo $data | grep '[0-9]*%' `" ];then
percent=`echo $data | grep -o "[0-9]*%" | tr -d '%'`
current=`echo $data | grep "[0-9]*%" | sed 's/\([0-9BKMG.]\+\).*/\1/' `
speed=`echo $data | grep "[0-9]*%" | sed 's/.*\(% [0-9BKMG.]\+\).*/\1/' | tr -d ' %'`
remain=`echo $data | grep -o "[0-9A-Za-z]*$" `
echo $percent
echo "#Scaricamento da $1\n$current of $total_size ($percent%)\nVelocità : $speed/Sec\nTempo Stimato : $remain"
fi
done > $pipe &
wget_info=`ps ax |grep "wget.*$1" |awk '{print $1"|"$2}'`
wget_pid=`echo $wget_info|cut -d'|' -f1 `
zenity --progress --auto-close --text="Connessione a $1\n\n\n" --width="350" --title="Scaricamento"< $pipe
if [ "`ps -A |grep "$wget_pid"`" ];then
kill $wget_pid
fi
rm -f $pipe
}
if [ $1 ];then
DOWNLOAD "$1"
else
dllink=$(zenity --entry --text "Inserire link da scaricare :" --width="350" --entry-text "" --title="Download")
if [ $dllink ];then
DOWNLOAD "$dllink"
fi
fi
salvare come download.sh
$ chmod +x download.sh
$ ./download.sh
nel caso di errori di formattazione si può scaricare da questo link.
enjoy ;)