Script shell erreur non identifié

Résolu/Fermé
samias - 5 mars 2015 à 21:38
samiastennis Messages postés 6 Date d'inscription jeudi 5 mars 2015 Statut Membre Dernière intervention 5 mars 2015 - 5 mars 2015 à 22:09
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
A voir également:

2 réponses

Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
5 mars 2015 à 21:53
Salut,
le
do
est 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.
1
samiastennis Messages postés 6 Date d'inscription jeudi 5 mars 2015 Statut Membre Dernière intervention 5 mars 2015
5 mars 2015 à 22:00
merci , ça marche bien maintenant :)
0
Utilisateur anonyme
5 mars 2015 à 22:00
salut,

je vois plusieurs erreurs, certaines peut-être dues à la recopie (?) :
chemin=repertoire
pas d'espaces autour du égal
for f in $chemin; do
il manque un
;
.
for f in $chemin
, ici,
$f
ne 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
bash
peut attribuer le type entier à des variables déclarées :
declare -i nbf nbd
, puis
nbf+=1
.
1
samiastennis Messages postés 6 Date d'inscription jeudi 5 mars 2015 Statut Membre Dernière intervention 5 mars 2015
5 mars 2015 à 22:09
je viens juste de corriger la 1ère erreur ;)
merci beaucoup pour votre aide .
0