Script shell erreur non identifié
Résolu
samias
-
samiastennis Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
samiastennis Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voilà mon script qu'à chaque fois je l'exécute je me bloque .Un message d'erreur s'affichera " Erreur de syntaxe près du symbole inattendu « if »".
Il s'agit d'écrire une commande TOTAL qui donne le nombre de fichiers et de répertoires présents dans le répertoire en cours.
Aidez-moi SVP
merci
voilà mon script:
#!/bin/bash
chemin = ls
nbf=0
nbd=0
for item in $chemin do
if [ ! -f "$item" ]; then
nbf=$[$nbf+1]
elif [ ! -d "$item" ]; then
nbd=$[$nbd+1]
fi
done
echo "nombrede fichier: " $nbf echo "nolmbre de dossier: " $nbd
voilà mon script qu'à chaque fois je l'exécute je me bloque .Un message d'erreur s'affichera " Erreur de syntaxe près du symbole inattendu « if »".
Il s'agit d'écrire une commande TOTAL qui donne le nombre de fichiers et de répertoires présents dans le répertoire en cours.
Aidez-moi SVP
merci
voilà mon script:
#!/bin/bash
chemin = ls
nbf=0
nbd=0
for item in $chemin do
if [ ! -f "$item" ]; then
nbf=$[$nbf+1]
elif [ ! -d "$item" ]; then
nbd=$[$nbd+1]
fi
done
echo "nombrede fichier: " $nbf echo "nolmbre de dossier: " $nbd
A voir également:
- Script shell erreur non identifié
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Erreur 0x80070643 - Accueil - Windows
- Erreur signet non défini - Forum Word
2 réponses
Salut,
le
PS : pense à utiliser la balise
le
doest mal placé, il manque soit un saut de ligne soit un point-virgule.
for var in $array ; do done #ou for var in $array do done
PS : pense à utiliser la balise
<code>(icône <> ) lorsque tu écris tes messages.
samiastennis
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
merci , ça marche bien maintenant :)
salut,
je vois plusieurs erreurs, certaines peut-être dues à la recopie (?) :
ceci n'est pas une erreur, mais c'est une forme ancienne:
je vois plusieurs erreurs, certaines peut-être dues à la recopie (?) :
chemin=repertoirepas d'espaces autour du égal
for f in $chemin; doil manque un
;.
for f in $chemin, ici,
$fne vaudra que
$chemin: la boucle ne "descendra" dans le répertoire
for f in $chemin/*.
ceci n'est pas une erreur, mais c'est une forme ancienne:
nbf=$[$nbf+1], tu pourrais profiter de ce que
bashpeut attribuer le type entier à des variables déclarées :
declare -i nbf nbd, puis
nbf+=1.