Boucle for shell qui ne traite qu'une seule valeur
Résolu
medou922
Messages postés
3
Statut
Membre
-
zipe31 Messages postés 38797 Statut Contributeur -
zipe31 Messages postés 38797 Statut Contributeur -
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
- Application se ferme toute seule android - Guide
- Mettre une seule page en paysage word - 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 ..).
;-))