Très vite fais, tu as un sous shell avec le pipe et donc les variables que tu modifie dans ce sous shell ne sont pas accessible à ton shell, on pourrait probablement améliorer un peu comme ça :
#!/bin/bash# Ce script effectue les générations de vignettes 200x200 et les images small 1200x1200^ pour PhotoShow# Il doit être copié dans le répertoire que l'on créé à l'installation de PhotoShow (celui qui contient les répertoires Conf et Thumbs)# et exécuté depuis celui-ci## licence : fait_a_la_rache_mais_ca_marche_faites_en_ce_que_vous_voulezimage_dir=`awk -F '[""]''/photos_dir/{print 2ドル}' ../config.php`thumbs_dir=`pwd`/Thumbs/
compteur=0
function convert(){while IFS=read -rd '' f ;do if file "$f"| grep -o -P '^.+: \w+ image' >/dev/null ;then if[ ! -f ${thumbs_dir}/"$f"];thenecho -en "$f : \tvignette "if( convert $image_dir/"$f" -thumbnail 200x200^ -gravity center -extent 200x200 -auto-orient -quality 70 ${thumbs_dir}/"$f")then echo -en "OK\t"else echo -en "Erreur !\t"fi fi if[ ! -f "${thumbs_dir}/`echo "$f" | sed 's/\(.*\)\./1円\_small./'`"];thenecho -n "small "if( convert $image_dir/"$f" -thumbnail 1200x1200 -auto-orient -quality 70 "${thumbs_dir}/`echo "$f" | sed 's/\(.*\)\./1円\_small./'`")then echo -en "OK\n"else echo -en "Erreur !\n"fi fi fidone}# pre-requisfor dir in $image_dir$thumbs_dir;do[ ! -d $dir]&&echo"Erreur, le répertoire d'images $dir n'existe pas"&&exit 1
donefor binaire in convert ffmpeg ;do if( ! which $binaire > /dev/null 2>&1 )then echo"Erreur, le binaire $binaire est introuvable dans le \$PATH"&&exit 1
fidone# creation de la structure des répertoires
rsync -r --include '*/' --exclude '*'$image_dir/ $thumbs_dir# pour toutes les images présentes dans ce répertoire, créer une miniature 200x200 et un small cd$image_dirnb=$(find . -type f -print0 | convert | grep -c)echo"Script terminé, $nb images ont été traitées"
Par contre ce n'est pas testé.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Super
Posté par barmic . En réponse à la dépêche Sortie de PhotoShow 3.0. Évalué à 3.
Très vite fais, tu as un sous shell avec le pipe et donc les variables que tu modifie dans ce sous shell ne sont pas accessible à ton shell, on pourrait probablement améliorer un peu comme ça :
Par contre ce n'est pas testé.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)