Pages : 1
#1 Le 10/05/2006, à 14:42
- LdK
Probleme de script ...
alors voila,
je voulais utiliser un script pour gerer des galleries photos plus facilement mais j'ai quelques problemes :
- voila ce qui arrive quand je lance le script :
sh Rep2Thumb.sh /home/ldk/photos/free1-240805
: command not found17:
: command not found18:
: command not found20:
: command not found23:
: command not found27:
: command not found31:
: command not found35:
: command not found38:
: command not found41:
: command not found45:
Rep2Thumb.sh: line 85: syntax error near unexpected token `else'
'ep2Thumb.sh: line 85: `else
- voila le script en lui meme :
#!/bin/sh
#######################################################################################
# Rep2Thumb 0.4
# Script de création d'une galerie pour PhpWebGallery
# Paramètre 1 : repertoire des photos
# Paramètre 2 : nom de la galerie
# Paramètre 3 : nombre de récursivité de lecture du répertoire photos source
#
#
# Gothico (c) 01/2006
# gothico@free.fr
#
#
# Contributeur :
# Madsen C. 25/01/2006
#######################################################################################
## CONFIGURATION ###########################################
# Chemin complet des galeries du site (sans le '/')
CHEMIN_WEBGALLERY="/var/www/html/fotos/webgallery/galleries"
# Nom du répertoire à créer pour les miniatures
# ("thumbnail" par défaut dans phpwebgallery)
NOM_REP_THUMB="thumbnail"
# Nom du répertoire à créer pour les miniatures
# ("pwg_high" par défaut dans phpwebgallery)
NOM_REP_HIGH="pwg_high"
# Nom du préfixe des miniatures
# ("TN-" par défaut dans phpwebgallery)
PRE_TN="TN-"
# L'extension des images (indépendant de la casse)
EXTENSION="jpg"
# Taille des photos miniatures
TAILLE_THUMB="128x96"
# Taille des photos à afficher dans phpwebgallery
TAILLE_PHOTOS="800x600"
############################################################
# Demande le chemin des photos sources s'il n'a pas été passé en paramètre
if [ -z "$1" ]
then
while [ -z $chemin ]
do
echo -n "Entrez le chemin complet à partir du script ou de la racine en commençant par '/' : "
read chemin
done
cd $chemin
else
cd "$1"
fi
# Demande le nom de la galerie s'il n'a pas été passé en paramètre
if [ -z "$2" ]
then
echo "Choisissez le nom de votre galerie."
echo "Pour l'ajouter en tant que sous-catégorie, procédez comme suit 'Galerie_exitante/Nouvelle_sous_categorie'."
while [ -z $nom_gallery ]
do
echo -n "Entrez le nom de la galerie sans '/' à la fin : "
read nom_gallery
done
else
nom_gallery=$2
fi
# Demande la récursivité si elle n'a pas été passée en paramètre
if [ -z "$3" ]
then
echo "Souhaitez-vous un traitement récursif des dossiers ?"
echo "ATTENTION : toutes les images trouvées seront placées dans la même galerie sans arborescence!"
echo "(pour conserver une arborescence, faites le en plusieurs fois)"
while [ -z $nb_recursif ]
do
echo -n "Si oui, donnez un chiffre de profondeur maximale entre 2 et 5, sinon entrez 1 : "
read nb_recursif
done
else
nb_recursif=$3
fi
# Test du nombre de récursivité, pas plus de 5 pour plus de sécurité
# (si vous avez une autre solutions plus simple pour faire ce test, je suis preneur)
case $nb_recursif in
1) ;; 2) ;; 3) ;; 4) ;; 5) ;;
*) nb_recursif=1; echo " => /!\\ Erreur de saisie : la valeur par défaut 1 sera utilisée. /!\\" ;;
esac
# Demande pour la génération des hautes définitions si cela n'a pas été passée en paramètre
if [ -z "$4" ]
then
while ([ -z $high ] || ([ "$high" != "o" ] && [ "$high" != "y" ] && [ "$high" != "n" ]))
do
echo -n "Souhaitez-vous la copie des photos hautes définitions? (o/n) : "
read high
done
else
if ( [ "$4" != "o" ] && [ "$4" != "y" ] && [ "$4" != "n" ] )
then
while ([ -z $high ] || ([ "$high" != "o" ] && [ "$high" != "y" ] && [ "$high" != "n" ]))
do
echo -n "ERREUR DE SAISIE DU PARAMETRE : Souhaitez-vous la copie des photos hautes définitions? (o/n) : "
read high
done
else
high=$4
fi
fi
# Création répertoire
echo "Création des répertoires..."
mkdir $CHEMIN_WEBGALLERY/$nom_gallery 2> err_Rep2Thumb
mkdir $CHEMIN_WEBGALLERY/$nom_gallery/$NOM_REP_THUMB 2> err_Rep2Thumb
if ( [ "$high" = "o" ] || [ "$high" = "y" ] )
then
mkdir $CHEMIN_WEBGALLERY/$nom_gallery/$NOM_REP_HIGH
fi
# Test du répertoire, proposition d'arreter le script s'il existe
if [ -s err_Rep2Thumb ]
then
rm -f err_Rep2Thumb
echo "INFORMATION : Apparemment, la galerie existe déjà."
echo "Si les noms des photos sont différents, les photos seront simplement ajoutées à cette galerie."
while ([ -z $continu ] || ([ "$continu" != "o" ] && [ "$continu" != "y" ] && [ "$continu" != "n" ]))
do
echo -n "Souhaitez-vous continuer? (o/n) : "
read continu
done
fi
# Arret du script si réponse = non
if [ "$continu" = "n" ]
then
echo "Arret du script volontaire."
exit
fi
# Sélection et copie des fichiers
echo "Copie des fichiers..."
find $rep_source -maxdepth $nb_recursif -iname "*.$EXTENSION" -exec cp {} $CHEMIN_WEBGALLERY/$nom_gallery \;
# On va dans le répertoire en question (la galerie, cela simplifie les lignes de commande)
cd $CHEMIN_WEBGALLERY/$nom_gallery
# On renomme si besoins est (enlève les caractères spéciaux, si j'en ai oublié, dites le moi)
echo "Renomme si besoin..."
ls -b | while read i ; do mv -f "$i" `echo "$i" | sed -e s/\ /_/g | sed -e s/\'//g | sed -e s/\"//g | sed -e s/\,//g | sed -e s/\;//g | sed -e s/§//g | sed -e s/!//g | sed -e s/ç/c/g | sed -e s/ù/u/g | sed -e s/ë/e/g | sed -e s/ä/a/g | sed -e s/ï/i/g | sed -e s/î/i/g | sed -e s/ö/o/g | sed -e s/ô/o/g | sed -e s/ü/u/g | sed -e s/û/u/g | sed -e s/é/e/g | sed -e s/è/e/g | sed -e s/~//g | sed -e s/²/2/g | sed -e s/\&//g | sed -e s/\#//g | sed -e s/\(//g | sed -e s/\)//g | sed -e s/ê/e/g | sed -e s/°//g | sed -e s/=//g | sed -e s/\{//g | sed -e s/\}//g | sed -e s/+//g` ; done &> /dev/null
# Copie des photos hautes définitions si option choisie
if ( [ "$high" = "o" ] || [ "$high" = "y" ] )
then
echo "Copie des photos hautes définitions..."
find . -iname "*.$EXTENSION" -exec cp {} $NOM_REP_HIGH \;
fi
# On sélectionne toutes les photos déjà copiées de la galerie pour le traitement
all_jpg_files_new=`find . -maxdepth 1 -iname "*.$EXTENSION"`
# Redimentionnement des originales
echo "Redimensionnement photos..."
for i in $all_jpg_files_new; do convert -quality 90 -resize $TAILLE_PHOTOS $i $i; echo -n "."; done
echo ""
# Redimensionnement pour les miniatures dans le répertoire configuré
echo "Redimensionnement thumbnail..."
for i in $all_jpg_files_new; do convert -thumbnail $TAILLE_THUMB $i $NOM_REP_THUMB/$PRE_TN`basename $i`; echo -n "."; done
echo ""
# Rétablissement des droits pour l'affichage au naviguateur
# (facultatif : dépend de votre configuration linux, mais cela est préconisé dans les instructions PWG)
#chmod -R 777 *
# Messages de fin
echo "Galerie $nom_gallery ajoutée!"
echo -n "Taille totale : "
du -h -s $CHEMIN_WEBGALLERY/$nom_gallery
echo " => Allez dans 'Synchroniser' pour l'ajouter à WebGallery."
auriez vous une explication ?
Hors ligne
#2 Le 10/05/2006, à 14:53
- LdK
Re : Probleme de script ...
j'ai trouvé la reponse au erreur :
: command not found17:
etc ...
il faut remplacer les lignes vides par des #
et enlever l'espace apres le else de la ligne 85
(bizarre d'aileurs vu que le createur du script n'a pas ces problemes ...)
quelqu'un aurait une idee pour mes nouvelles erreurs :
ldk@jNky:~$ sh Rep2Thumb.sh /home/ldk/photos/free1-240805
'ep2Thumb.sh: line 91: syntax error near unexpected token `in
'ep2Thumb.sh: line 91: `case $nb_recursif in
Dernière modification par LdK (Le 10/05/2006, à 14:53)
Hors ligne