pubblicato Martedì 06 Novembre del 2007 alle 15:45.

Questo è il primo script non ha una interfaccia grafica può essere usato esclusivamente dalla shell. Ricordo che la versione con interfaccia grafica zenity è disponibile al seguente link.

Ecco il codice:
#!/bin/bash
#
# AUTHOR: Maurizio di NuvoleSparse
#
# License: GNU General Public version 2 or any later version.
# This program comes with ABSOLUTELY NO WARRANTY; for details
# see the COPYING file or visit "http://www.gnu.org/licenses/gpl.html".
# This is free software, and you are welcome to redistribute it under
# certain conditions. See the GPL license for details. 
#
# Dependence:
#					ImageMagick

# functions

#Messaggi di errore
msg00(){
	echo -e "\nAttenzione\nNon e' stato selezionato nessun un file."
	exit 1
}
msg01(){
	echo -e "\nERRORE\nNon hai fatto nessuna scelta. Lo script terminerà.\
:-(\n"
	exit 1
}
msg02(){
	echo -e "\nERRORE\nScelta errata. Lo script terminerà. :-(\n"
	exit 1
}
msg03(){
	echo -e "\nLo script è terminato con successo. :-)\n"
	exit 0
}
compressione(){
echo -e "\nIndica la qualità di conversione in percentuale(di default è 95%):"
read OUTPUT02

if [ -z "$OUTPUT02" ]; then
	QUALITY="-quality 95"
else
	case "$OUTPUT02" in
		[0-9][0-9] ) QUALITY="-quality $OUTPUT02" ;;
		100) QUALITY="-quality 100" ;;
		* ) msg02 ;;
	esac
fi
}
conversione(){
	if echo "$IMG" | grep -qv ".$FORMATO_DI_CONFRONTO$"; then

		
		ESTENSIONE_IMG=`echo "$IMG" | awk -F "." '{ print $NF }'`
		NOME_IMG="$( echo `basename "$IMG"` | \
sed -e "s/.""$ESTENSIONE_IMG""$//" )"
		_PATH="`dirname "$IMG"`"
		#
		# conversione
		[ -d "$_PATH/formato .$ESTENSIONE" ] || mkdir \
"$_PATH/formato .$ESTENSIONE"

		convert $QUALITY "$IMG" "$_PATH"/"formato .$ESTENSIONE"/\
"$NOME_IMG"."$ESTENSIONE"
	else
		echo -e "\nLa conversione dell'immagine '$IMG' e' stata\
saltata..."
	fi
}
#
# begin

## IN CASO DI MANCATA INDICAZIONE DI FILE
[ $# -eq 0 ] && msg00

## DIMMI IL FORMATO DI CONVERSIONE
echo -e "\nScegli il formato di conversione:\n\t[1] Png\n\t[2] Jpg\n\t[3] Gif"
read OUTPUT01

[ -z "$OUTPUT01" ] && msg01
case "$OUTPUT01" in
	1 ) FORMATO_DI_CONVERSIONE=Png ;;
	2 ) FORMATO_DI_CONVERSIONE=Jpg ;;
	3 ) FORMATO_DI_CONVERSIONE=Gif ;;
	* ) msg02 ;;
esac

[ "$FORMATO_DI_CONVERSIONE" != Gif ] && compressione

## PROCESSA UN FILE ALLA VOLTA
while [ $# -gt 0 ]; do
	IMG=$1

	case $FORMATO_DI_CONVERSIONE in
		Png )
		 FORMATO_DI_CONFRONTO=[Pp][Nn][Gg]
		 ESTENSIONE=png
		 conversione
		;;
		Jpg )
		 FORMATO_DI_CONFRONTO=[Jj][Pp][Gg]
		 ESTENSIONE=jpg
		 conversione
		;;
		Gif )
		 FORMATO_DI_CONFRONTO=[Gg][Ii][Ff]
		 ESTENSIONE=gif
		 conversione
		;;
	esac
	
	## PASSA AL SUCCESSIVO FILE
	shift
done

msg03
Attenzione: gli script sono pubblicati SOLO a scopo dimostrativo (didattico) e ASSOLUTAMENTE SENZA GARANZIA: l'autore nega qualsiasi responsabilità di danni riscontrabili a seguito del loro uso (mancato funzionamento, errori ed eventuale perdita di dati, etc). Gli script sono pubblicati con la licenza d'uso GNU General Public License, peraltro ottenibile al seguente link GNU/GPL.

powered by FreeFind
Il sito è una creazione di Maurizio... ed è pubblicato sotto una Licenza CC; esso non viene aggiornato
in maniera periodica, pertanto non può essere considerato un prodotto editoriale ai sensi della legge n. 62 del 7.03.2001.