#1 Le 15/06/2015, à 13:41
- yaba64
choix d'un repertoire pour un script
bonjour
j'utilise ce script là qui marche très bien pour creer un page html avec des miniatures :
#!/bin/bash
# Vérification des paramètres
# S'ils sont absents, on met une valeur par défaut
if [ -z $1 ]
then
sortie='galerie.html'
else
sortie=$1
fi
# Préparation des fichiers et dossiers
echo '' > $sortie
if [ ! -e miniatures ]
then
mkdir miniatures
fi
# En-tête HTML
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Ma galerie</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
a img { border:0; }
</style>
</head>
<body><p>' >> $sortie
# Génération des miniatures et de la page
for image in `ls *.png *.jpg *.jpeg *.gif 2>/dev/null`
do
convert $image -thumbnail '200x200>' miniatures/$image
echo '<a href="'$image'"><img src="miniatures/'$image'" alt="" /> </a> '>> $sortie
done
# Pied de page HTML
echo '</p>
</body>
</html>' >> $sortie
mais il faut que je lnce mon script ds le dossier des photos.
Or j'aimerai mette mon script ds /usr/local/bin et pour pouvoir rentrer paramètre le repertoire de mes photos et qu'il fasse exactement la meme chose
je n'y arrive pas car je l'ai modifier en faisaint ce genre de chose
if [ -z $2 ]
then
read -p "Veuillez indiquer le dossier image :" repertoire
sortie2="$repertoire"
else
sortie2="$2"
fi
if [ -z $1 ]
then
sortie='$sortie2/index.html'
ça ne marche pas car il me dit que le repertoire n'existe pas
bref comment faut il faire ça à partir du premier script svp ??
merci beaucoup
Dernière modification par yaba64 (Le 15/06/2015, à 13:43)
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne
#2 Le 15/06/2015, à 13:56
- yaba64
Re : choix d'un repertoire pour un script
pour completer voici ce que j'ai modifier :
#!/bin/bash
# Vérification des paramètres
# S'ils sont absents, on met une valeur par défaut
if [ -z $2 ]
then
read -p "Veuillez indiquer le dossier image :" repertoire
sortie2="$repertoire"
else
sortie2="$2"
fi
if [ -z $1 ]
then
sortie=$sortie2/index.html
else
sortie=$2/$1
fi
# Préparation des fichiers et dossiers
echo '' > $sortie
if [ ! -e "$sortie2/thumbs" ]
then
mkdir "$sortie2/thumbs"
fi
# En-tête HTML
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Mon albumPhoto</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
a img { border:0; }
</style>
</head>
<body><p>' >> $sortie
# Génération des miniatures et de la page
#choisir le dossier des images
for image in `ls $sortie2 *.png *.jpg *.jpeg *.gif *.JPG 2>/dev/null`
do
convert $sortie2/$image -thumbnail '200x200>' $sortie2/thumbs/$image
echo '<a href="'$image'"><img src="thumbs/'$image'" alt="" /> </a> '>> $sortie
done
# Pied de page HTML
echo '</p>
</body>
</html>' >> $sortie
mon code crée bien le dossier thumbs et le fichier index.html ds le dossier spécifié il copie bien également l'entête du dossier html mais il bloque à la bouche for je pense car il ny a aucune miniature de creer
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne