Kornshell
doudou
-
doudou -
doudou -
bonjour
je suis debutant dans la programmation shel,j'essaye d 'ecrire un tout peitit script qui calcule le nbr de fichier et rep. s'il la trouve > 4 il efface ceux qui commence par a sinon il dit "le nombre de fichier est inferieur a 4 ,mais qd je l'execute ,sachant qu le nombre est <4 il me renvoit ce message :
rm: ne peut évaluer par lstat() `a*': Aucun fichier ou répertoire de ce type
pour quoi il m'ecrit pas ce que je lui demande
Voici mon script :
if ls -ltr|wc -l >=4
rm a*
then
echo "le nombre de fichier est inferieure a 4"
fi
Merci pour votre aide
Configuration: linux
je suis debutant dans la programmation shel,j'essaye d 'ecrire un tout peitit script qui calcule le nbr de fichier et rep. s'il la trouve > 4 il efface ceux qui commence par a sinon il dit "le nombre de fichier est inferieur a 4 ,mais qd je l'execute ,sachant qu le nombre est <4 il me renvoit ce message :
rm: ne peut évaluer par lstat() `a*': Aucun fichier ou répertoire de ce type
pour quoi il m'ecrit pas ce que je lui demande
Voici mon script :
if ls -ltr|wc -l >=4
rm a*
then
echo "le nombre de fichier est inferieure a 4"
fi
Merci pour votre aide
Configuration: linux
2 réponses
-
if [ `ls -ltr|wc -l` -ge 4 ]; then rm a* else echo "le nombre de fichier est inferieure a 4" fi
déjà c'est if [....] then action else action fi
ensuite c'est -ge -le -lt -gt -eq pour comparer
enfin pour interpreter une commande pour recuperer une valeur c'est entre back-quotes ``
man ksh -
Bonjour
Deja merci pour ta reponse !mais meme en faisant un copier coller de ce que tu ma mis voila ce qu'il me dit :
[linux1 coucou]$ ./effacé
./effacé: line 1: [: ls |wc -l: integer expression expected
le nombre de fichier est inferieure a 4
[linux1 coucou]$
Encore une fois merci.