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
Configuration: Windows XP
Firefox 3.6
A voir également:

5 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
 
Salut,

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

while [ "$name" = "" ]; 
1
miramaze Messages postés 1429 Date d'inscription   Statut Contributeur Dernière intervention   92
 
Salut déjà de mettre des parenthèses pas des accolades
0
dubcek Messages postés 18808 Date d'inscription   Statut Contributeur Dernière intervention   5 652
 
hello
 name=""
while [ -z "$name" ] ; do
echo -n "Enter your reason: " ; read name 
done
0
miramaze Messages postés 1429 Date d'inscription   Statut Contributeur Dernière intervention   92
 
Ah merde je pensais que c'étais obligatoire les parenthèses et pas d'accolades, je me tais ;)
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
 
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