Pages : 1
#1 Le 10/05/2008, à 03:16
- ayag
programmer avec bash
'ai eu de la misère a résoudre ce petit problème, programme doit chercher si un fichier existe puis il récupère le nom du l'image du fichier pour la pouvoir effacer voici mon bout de code ca marche pas je sais pas ou je me suis tromper, merci pour votre aide
#!/bin/bash
exist=`ls -l | grep 'suppr.txt' | wc -l`
if [ $exist -eq 1 ]
then
read ligne<suppr.txt
nom=`echo $ligne | cut -f 1 -d :`
image=`echo $ligne | cut -f 2 -d :`
if [ -n "$image" ]
then
cd /home/images
read ligne<suppr.txt
image=`echo $ligne | cut -f 2 -d :`
existimage=`ls -l | grep $image | wc -l`
if [ $existimage -eq 1 ]
then
sudo chmod 777 $image
sudo chown root $image
sudo chgrp root $image
sudo rm -Rf /home/images/'$image'
fi
fi
fi
Hors ligne
#2 Le 10/05/2008, à 05:56
- PauseKawa
Re : programmer avec bash
cd /home/images ? (plutôt cd ~/Images/ non ?)
sudo dans un script ? Tu utilise le SUID ou sudoers ? Pourquoi tu passe ton image en root avant de rm ?
Pourquoi ne pas utiliser if test -e suppr.txt a la place de ton exist=`ls -l | grep 'suppr.txt' | wc -l` (ou -s)
Perso pour le read ligne j'utilise un for line in $(cat tonfichiers). Exemple :
for line in $(cat /home/users/perso/.autosauve/testsa)
do
HEURE="${line:3:2}"
MINUTES="${line:0:2}"
CALCULJOUR="${line:10:1}"
case $CALCULJOUR in
0) JOURS="le Dimanche" ;;
1) JOURS="le Lundi" ;;
2) JOURS="le Mardi" ;;
3) JOURS="le Mercredi" ;;
4) JOURS="le Jeudi" ;;
5) JOURS="le Vendredi" ;;
6) JOURS="le Samedi" ;;
*) JOURS="tous les jours" ;;
esac
TEXTSAUV=$TEXTSAUV$IFS"Sauvegarde programmée ""$JOURS"" à ""$HEURE""H""$MINUTES"$IFS
done
Petit edit : En gros tu regarde si un fichier suppr.txt existe et s'il existe tu regarde dedans des noms de fichiers a supprimer, c'est bien cela ? Quelle est l'utilité des variables $nom et $image ? Quel est le format de ton fichier suppr.txt ?
Bonne journée
Dernière modification par PauseKawa (Le 10/05/2008, à 06:15)
L'informatique c'est écologique. Un exemple : Je commande sur internet le dernier calendrier Pirelli. Résultat ? J'ai économisé mes pneus, mon essence, et je n'ai pas émis de gaz si néfaste pour notre planète. Et de toute manière, le facteur serait quand même passé pour m'amener mes factures.
Hors ligne
Pages : 1