Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/08/2015, à 14:19

anthonyob

Erreur de syntaxe près du symbole inattendu « else »

Bonjour lorsque que je compile mon script "condition.sh" très simple suivant :

#!/bin/bash

nom="Bruro"

if [ $1 = "Bruno" ]
then
	echo "Salut Bruno ! "
fi
else
	echo "Je ne te connais pas, ouste !"
fi

J'obtiens une erreur comme ceci :

anthony@ordi:~$ ./condition.sh Brunos
./condition.sh: ligne 9: Erreur de syntaxe près du symbole inattendu « else »
./condition.sh: ligne 9: `else'
anthony@ordi:~$

Je ne comprends pas car j'ai utilisé le if et j'ai bien fermé par des fi à chaque fois. Est-ce quelqu'un aurait une solution ?

Merci pour votre future aide.

Hors ligne

#2 Le 22/08/2015, à 14:51

nany

Re : Erreur de syntaxe près du symbole inattendu « else »

Bonjour,

anthonyob a écrit :

[…] j'ai utilisé le if et j'ai bien fermé par des fi à chaque fois. […]

C’est ça le problème. tu as fermé le if avec fi avant le else alors qu’il ne fallait pas.

#!/bin/bash

nom="Bruro"

if [ $1 = "Bruno" ]
then
	echo "Salut Bruno ! "
else
	echo "Je ne te connais pas, ouste !"
fi

Hors ligne

#3 Le 22/08/2015, à 14:51

tiramiseb

Re : Erreur de syntaxe près du symbole inattendu « else »

Salut,

Ben oui, tu as mis un "fi" avant le "else", tu as donc terminé le bloc "if".
Tu aurais dû faire :

#!/bin/bash
if [ "$1" = "Bruno" ]
then
	echo "Salut Bruno ! "
else
	echo "Je ne te connais pas, ouste !"
fi

EDIT : merde, grillé !
Bon par contre moi j'ai ajouté les guillemets autour du "$1" car sans cela, si on ne met pas d'argument à la commande ça fait une erreur.

Dernière modification par tiramiseb (Le 22/08/2015, à 14:52)

Hors ligne

#4 Le 22/08/2015, à 14:55

nany

Re : Erreur de syntaxe près du symbole inattendu « else »

tiramiseb a écrit :

[…]
EDIT : merde, grillé !
Bon par contre moi j'ai ajouté les guillemets autour du "$1" car sans cela, si on ne met pas d'argument à la commande ça fait une erreur.

Oui, c’est mieux. wink
J’ai simplement recopié le code en virant le premier fi. Et je ne sais pas ce que vient faire la variable $nom en effet.

Hors ligne

#5 Le 22/08/2015, à 15:00

anthonyob

Re : Erreur de syntaxe près du symbole inattendu « else »

Ah c'est donc ça ! Vos explications sont très clairs ! Merci beaucoup smile

Hors ligne

#6 Le 22/08/2015, à 15:05

tiramiseb

Re : Erreur de syntaxe près du symbole inattendu « else »

Et je ne sais pas ce que vient faire la variable $nom en effet.

Ouais c'est pour ça que je l'ai carrément virée smile

Hors ligne

#7 Le 26/08/2015, à 12:25

Hizoka

Re : Erreur de syntaxe près du symbole inattendu « else »

merci d'ajourer un [resolu] dans ton titre...


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne