Script bash

j3ff_std -  
 j3ff_std -
Bonjour,

J'aimerais qu'on ne puisse pas rentrer de chaine vide dans le input ou de ne pas faire direct "enter"
Donc l'input doit obligatoirement contenir quelque chose.

Avec ce code il me renvoie une erreur du type:
[: 10:  : unexpected operator


echo -n "Enter your reason: "
read name

while [ $name = " " ]; 
do
echo -n "Enter your reason: "
read name
done 


Quelqu'un aurait-il une solution?

merci d'avance
A voir également:

5 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Il faut quoter ta variable et ne pas laisser un espace entre les guillemets :

while [ "$name" = "" ]; 
1
miramaze Messages postés 1468 Statut Contributeur 92
 
Salut déjà de mettre des parenthèses pas des accolades
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
hello
 name=""
while [ -z "$name" ] ; do
echo -n "Enter your reason: " ; read name 
done
0
miramaze Messages postés 1468 Statut Contributeur 92
 
Ah merde je pensais que c'étais obligatoire les parenthèses et pas d'accolades, je me tais ;)
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
En plus ce n'est pas des accolades ( { } ), c'est des crochets ( [ ] );-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j3ff_std
 
merci dubcek ça fonctionne ;-)
0