Boucle for shell qui ne traite qu'une seule valeur
Résolu
medou922
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Pouvez-vous m'aider svp?
J'écris actuellement un script qui liste les sous dossiers d'un repertoire, et qui effectue des opérations dans ces fichiers (rm , cp)...
J'ai un résultat, mais ma boucle s'arrête après le premier sous dossier et ne continue pas.
Il lit bien le nom du sous dossier, mais s'arrête net après.
Voici mon code:
Le script s'exécute parfaitement sur le premier dossier, mais s'arrête juste après avoir lu le nom du second dossier, sans faire les traitement.
Merci d'avance pour votre aide.
Pouvez-vous m'aider svp?
J'écris actuellement un script qui liste les sous dossiers d'un repertoire, et qui effectue des opérations dans ces fichiers (rm , cp)...
J'ai un résultat, mais ma boucle s'arrête après le premier sous dossier et ne continue pas.
Il lit bien le nom du sous dossier, mais s'arrête net après.
Voici mon code:
#! /bin/bash dossier=$(find . -maxdepth 1 -type d \( ! -iname ".*" \) -exec basename {} \; ) #count=$(find $dossier -type d | wc -l) echo les dossiers a traiter sont $dossier echo "" for i in $dossier do echo vous etes dans le dossier : $i if [[ -d $i ]] then echo Le repertoire $i existe cd $i && echo $PWD echo "" echo "" rm -rf fichier1 fichier2 echo $? echo "" cp -v /data2/new/* . echo $? else echo "Il n y a plus de dossier à traiter" fi; done
Le script s'exécute parfaitement sur le premier dossier, mais s'arrête juste après avoir lu le nom du second dossier, sans faire les traitement.
Merci d'avance pour votre aide.
A voir également:
- Boucle for shell qui ne traite qu'une seule valeur
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Classic shell - Télécharger - Personnalisation
- Comment imprimer un tableau excel sur une seule page - Guide
- Mettre une seule page en paysage word - Guide
- Application se ferme toute seule android - Guide
3 réponses
Salut,
C'est bien de rentrer dans un répertoire (
;-))
C'est bien de rentrer dans un répertoire (
cd $i && echo $PWD, au passage je préférerai
cd $i && pwd), mais il faut penser à en sortir quand on a fini le traitement (
cd ..).
;-))
Bonjour,
Une suggestion, en traitant le 1er répertoire tu fais un cd pour te positionner dedans, donc à cet endroit, le test -d pour le second dossier à traiter ne le trouve pas.
Une suggestion, en traitant le 1er répertoire tu fais un cd pour te positionner dedans, donc à cet endroit, le test -d pour le second dossier à traiter ne le trouve pas.