Erreur dans script bash
Fermé
schizophrenia
-
9 mars 2009 à 17:28
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 9 mars 2009 à 23:28
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 9 mars 2009 à 23:28
A voir également:
- Erreur dans script bash
- Erreur 0x80070643 - Accueil - Windows
- Script vidéo youtube - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 38 free ✓ - Forum Mobile
1 réponse
mamiemando
Messages postés
33476
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 janvier 2025
7 816
9 mars 2009 à 23:24
9 mars 2009 à 23:24
Commence par indenter ton code, tu verras que ton else tombe à l'intérieur du 2e for, que le 2e if n'est pas fermé, et que le deuxième for n'est pas fermé (à moins que le d de la fin soit un done qui a souffert). En gras ci-dessous ce qui ne va pas :
Bon ça c'est pour la syntaxe, mais sinon ta première boucle ne veut rien dire, elle fait parcourir à la variable i la suite $i qui est une chaîne vide, donc il ne peut rien se passer. Je te rappelle qu'une boucle for doit parcourir un ensemble de valeurs séparées d'un espace.
Bonne chance
# !/bin/sh if [ $# -eq 0 ] then echo erreur : verifier le nombre de parametre fi for i in $i do if [ -d $i ] then la liste e sous repertoire de $i est total=0 cd $i for j in * do if [ -d $i ] then echo $i total=`expr $total + 1` fi done cd $DIR echo "le nombre de sous_repertoire est $total" else echo $i n\'est pas un repertoire d
Bon ça c'est pour la syntaxe, mais sinon ta première boucle ne veut rien dire, elle fait parcourir à la variable i la suite $i qui est une chaîne vide, donc il ne peut rien se passer. Je te rappelle qu'une boucle for doit parcourir un ensemble de valeurs séparées d'un espace.
Bonne chance
9 mars 2009 à 23:28