Rechercher : dans
Par :

If...then elif...then

Dernière réponse le 14 nov 2009 à 22:35:54 dada62160, le 14 nov 2009 à 20:30:18 
 Signaler ce message aux modérateurs

Bonsoir à tous !

Voi:a j'ai un problème qui me gonfle un peu : j'apprends à faire des scripts shell en bash sous linux, mais la commande if...then ne marche pas comme elle devrai : quand je tape if suivi d'une condition et d'une commande, la commande s'execute même si la condition n'est pas remplie...
Merci d'avance
Bonne soirée

Meilleures réponses pour « if...then elif...then » dans :
Créer une image ISO sous Linux VoirCréer l'image ISO (que l'on appellera par exemple image.iso) d'un disque dans un lecteur CD-ROM (/dev/cdrom par exemple) est un jeu d'enfant : dd if=/dev/hdd of=mycd.iso
Inverser les éléments d'un tableau -Récursivité- VoirVoici une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau compris entre la position p et n : Procedure Inverser (Var t : Tab; p, n : Integer); Var aux : Real; Begin If p < n Then ...
Tri par fusion - récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par fusion : Procedure Tri_Fusion (Var t : TAB; g, d : integer); Var m, i, j, k : integer; s : TAB; Begin If d > g Then ...
VBScript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (VBScript associe le mot clé true à...

1

BeFaX, le 14 nov 2009 à 20:31:45
  • +1

Non, je te crois pas lol ...
C'est toi qui dois faire erreur.

Répondre à BeFaX

2

dada62160, le 14 nov 2009 à 20:41:02

EEuh... désolé BeFax, mais je vois pas ton message...

Répondre à dada62160

3

loupius, le 14 nov 2009 à 20:57:29

J'ai mis la réponse de BeFax en vert pour que tu la voies mieux ;-)
Le plus simple est que tu donnes tes lignes de code, car effectivement on a du mal à croire qu'un système d'exploitation aussi éprouvé puisse laisser une erreur aussi grossière perdurer.
Bonne réflexion.

Répondre à loupius

4

dada62160, le 14 nov 2009 à 21:21:27

Read $reponse
if [ $reponse="oui" ]
then
echo "Continuons"
elif [ $reponse="non" ]
then
echo "Arrêtons"
fi

et quand je tape "non" ils me met quand même "continuons"...

Répondre à dada62160

8

loupius, le 14 nov 2009 à 21:57:00

Corrige ainsi ton programme:

echo -n "Donner votre réponse ? "
read reponse
if [ "$reponse" = oui ]; then
  echo "Continuons"
elif [ "$reponse" = non ]; then
  echo "Arrêtons"
fi
et tu constateras que ça fonctionne très bien ;-)
Bonne continuation.

Répondre à loupius

9

dada62160, le 14 nov 2009 à 22:04:14

Effectivement, ça marche ! Miracle ! Ca fait 5 jeures que je bidouillai et ça marchais pas !
Merci à tous !
Bonne soirée

Répondre à dada62160

5

dada62160, le 14 nov 2009 à 21:24:03

J'ai oublié : il y a #!/bin/bash au début, je ne l'ai pas oublié ^^

Répondre à dada62160

6

BeFaX, le 14 nov 2009 à 21:41:07

Met ELSEIF

Répondre à BeFaX

7

dada62160, le 14 nov 2009 à 21:49:32

Où ça ?

Répondre à dada62160

10

dada62160, le 14 nov 2009 à 22:31:31

J'aurai une autre question aussi dans un script ou il faut être en root avec sudo, existe t-il une commande permettant de rester tout le long du script en root ?
Merci

Répondre à dada62160

11

 dada62160, le 14 nov 2009 à 22:35:54

Désolé, j'ai rien dit, ça marche.
Merci !

Répondre à dada62160