Je m'entraine à faire des script bash sur mon raspberry, mais je doit dire que je suis un peu déstabilisé par la syntaxe parfois un peu étrange.
J'était entrain de créé une sorte de mini script de sauvegarde qui clone l'installation système du pi dans une image qu'on peu flasher sur une carte.
Le script doit créé l'image et l'enregistrer dans un disque dure externe. Une fois ça fait, il parcour la liste des images enregistré dans le dossier de sauvegarde et supprime toute celles qui ont plus d'un mois.
presque tout fonctionne.
J'ai juste un problème, au moment de la suppression. J'utilise une condition qui est vraie quand la chaine de caractère passé en paramètre est bien un fichier.
ceci étant dit,, pour pouvoir poster mon script sur framboise314 et pour pouvoir le rendre plus adaptable j'ai coupé en deux le chemin du fichier, une première partie dans une variable apelé pathto correspond au chemin du dossier de sauvegarde, et la seconde partie FLTLF (file to lookfor) correspond au nom du fichier.
Hors, quand la comande rm s'exécute, elle se limite à pathto.
Même si j'ai combiné les deux variable avant de les passer à la comande pour éviter tout problème de concaténation pendant l'exécution.
j'ai essayé plusieurs bricoles, je suis sur que c'est un truc très con et que c'est juste moi qui ne tilte pas la de suite... enfin si quelqu'un avait réponse à cette question...
du coup voici le code:
Code : Tout sélectionner
while [ $a_year[$loopind+2] != $monthof ]
do
#fl file t to lf look for
fltfl="sauvegarde de ${a_year[$loopind]} ${yearof}.img"
if [ -e "$pathto$fltlf" ]
then
cvlc /home/pilot/bin/saver/oldest_targeted.ogg
rm "$pathto$fltlf"
cvlc /home/pilot/bin/saver/oldest_destroyed.ogg
fi
#on ajoute 1 à loopind pour parcourir le tableau des mois
loopind=$loopind+1
echo "$pathto$fltlf"
done
fi