Unix Hosting News & Commentary
My Top 3

Per tutti quelli che non possono fare a meno della shell, presento un dei miei ultimi super scripts in posix.

Questo di seguito lo utilizzo per fare l’upload ricorsivo delle immagini presenti in una cartella, solo con estensione jpg (è semplice adattarlo anche per altri formati!), sul sito di hosting gratuito http://imageshack.us/.

Per poter fungere correttamente lo script ha bisogno dei programmi curl, sed, awk, grep, cut, tutti tools che sicuramente non mancano su di un sistema *unix.

#!/bin/sh
#Date: 2008/01/05
#Author: Luca Postregna
#Site: /> #Email: luca dot postregna dot gmail dot com

for i in `ls $PWD`; do
if [ “X`file -b ${i} |awk ‘{print $1}’`” = “XJPEG” ] ; then

echo />echo ” Upload del file: ${i}”

curl -F “fileupload=@${i}” -A “Mozilla/5.0″ -H “Expect:” img80.imageshack.us |grep UPLOADER |cut -d “:” -f2 > /tmp/data

/tmp/data`”

echo “${URL}” >> ./direct_links.txt
echo “” >> url.html
echo />fi
done

echo ” Sono stati creati i file ./direct_link.txt e ./url.html”
echo

Il funzionamento dello script è molto semplice, basta spostarsi nella cartella contenente le immagini e lanciare lo script al suo interno senza alcuna opzione.

Come risultato, dopo l’upload delle immagini, all’interno della cartella della stesse potrete trovare il file ./url.html, che conterrà il codice html da inserire nella vostra pagina web affichè vengano visualizzati i thumbnails con il relativo link diretto all’immagine caricata.
Due importanti raccomandazioni:

  • I file non possono contenere il carattere punto “.” all’interno del loro nome. Quindi i.m..a.g.e.s.jpg non va bene, images.jpg va benissimo. Se mi sbatto un pò con sed questo problema lo metto a posto.
  • Non caricate immagini troppo piccole, altrimenti la creazione del thumbs, con l’indicazione del formato e dei bytes, potrebbe non funzionare.

Potete fare il download seguendo il link dei sorgenti, salvate il file con il nome upload-to-imageshack, rendetelo eseguibile con “chmod +x upload-to-imageshack”), e quindi per lanciarlo basta un semplice “/bin/sh

Ultima cosa, le mie conoscenze dei tools utilizzati è alquanto basilare, quindi tutti i consigli per migliorare lo script sono i benvenuti.
Sono comunque sicuro che in giro per il web c’è ne sono di migliori di script che fanno questo lavoro. Ma questo l’ho scritto io.

Ciao, Luca.

  1. No user reviews yet.


Leave a Reply





Blogroll