variable dans une condition bash

variable dans une condition bash - Shell/Batch - Programmation

Marsh Posté le 01-06-2015 à 13:48:21    

Coucou les pro de la prog  ;)  
 
 alors voila, je suis nouveau dans l’univers du bash et je voulais créer un petit programme de mot de passe simple
Seulement voila, un (récurent) petit bug viens me gainer dans mon avancé...
Ne sachant pas bien utilisé les variables couplé à une condition, j'ai bien du mal à comprendre d'où vient problème
( tout se que je sais, c'est que je gère très mal mes variables (erreur de syntaxe ?).  :D  
 
Alors voila le petit programme.
 
#!/bin/bash
 
f= 3     (nombre d’essais)
motdepasse="tigre"   (je défini le mdp)
 
while true    (boucle infini)
do
 
 if f=0  (Dans le cas ou f=0)                                                  
 then            
 clear
 echo "il ne vous reste plus d’essai"
 sleep 3
 clear
 break
 fi
 
echo "entrez le mot de passe ($f essai(s))"
 
read "mdp"
 
 if $mdp=$motdepasse
 then
 clear
 echo "mot de passe correct"
 sleep 3
 clear
 break
 else
 clear
 echo "mot de passe incorrect"
 f=$(($f-1))
 sleep 3
 clear
 fi
done
 
Voilou. En passant quelqu’un sait comment on peut transformé tout caractère rentré lors d'un "read" par une * pour caché le mdp ?  :??:  
 
merci d'avance pour votre aide.  :sol:  
                                                                    Tigreleonne
 
 
 

Reply

Marsh Posté le 01-06-2015 à 13:48:21   

Reply

Marsh Posté le 02-06-2015 à 01:42:42    

salut,
 
tu n'es pas dans le bon forum, tu aurais dû demander ici.
 
il manque une commande dans tes if.
en l'occurrence, test, cf. help test
 
PS:
attention aux espaces !
parfois il en faut (autour des commandes), parfois il n'en faut pas (lors des assignations).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed