Pb avec un script shell

Fermé
Utilisateur anonyme - 16 déc. 2008 à 01:05
dubcek Messages postés 18784 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 avril 2025 - 16 déc. 2008 à 09:49
salut,
j'ai un petit pb a executer ce script shell :
if [ $# -eq 0 ] then
ls -al | grep '^r' | cut -d ' ' -f9 | tr 'a-z' 'A-Z';
else
if [ $# -eq 1 ] then
ls -al $1 | grep '^r' | cut -d ' ' -f9 | tr 'a-z' 'A-Z'i;
else
echo "trop de parametre"i
fi
fi

lorsque je l'execute il me dit:
./minmaj: line 3: Erreur de syntaxe près du symbole inattendu « elif »
./minmaj: line 3: `elif [ $# -eq 1 ] then '

je ne comprend pas d'ou est ce que ça vient

quelqu'un peut il m'aider?
merci d'avance
A voir également:

2 réponses

dubcek Messages postés 18784 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 avril 2025 5 630
16 déc. 2008 à 09:49
hello
if [ $# -eq 0 ] ; then 
if [ $# -eq 1 ] ; then
1
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 306
16 déc. 2008 à 03:08
Bonjour,

A priori, s'il se lance, c'est que déjà tu n'as pas oublié de lui indiquer en première ligne :

#!/bin/sh

Je ne vois pas cette fameuse ligne dans ton script !

Ensuite, à la place de else, essaie elif (c'est du script, pas du C même si ça y ressemble).
(En fait : supprime le "else" et remplace le "if" suivant par "elif")

Il y a peut-être d'autres problèmes, mais chaque chose en son temps.


A bientux.

Jonas.
0