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