Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/05/2006, à 15: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 ?


http://phpwebgallery.net/ext/view_extension.php?id=28

Hors ligne

#2 Le 10/05/2006, à 15: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, à 15:53)

Hors ligne