[SHELL/BASH] boucle qui contient script
Résolu
Madmat59
Messages postés
98
Date d'inscription
Statut
Membre
Dernière intervention
-
Madmat59 Messages postés 98 Date d'inscription Statut Membre Dernière intervention -
Madmat59 Messages postés 98 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai encore un petit problème avec une boucle, je souhaite en faire une qui englobe tout le programme.
#!/bin/bash
while [ $vAjout = "o" ] || [ $vAjout = "O" ]
do
...
...
...
read -p "Souhaitez-vous ajouter une nouvelle machine (O/N) ?" vAjout
done
Il me detecte une erreur :
./essai.sh: line 2: [: =: unary operator expected
./essai.sh: line 2: [: command not found
Cordialement Madmat59
J'ai encore un petit problème avec une boucle, je souhaite en faire une qui englobe tout le programme.
#!/bin/bash
while [ $vAjout = "o" ] || [ $vAjout = "O" ]
do
...
...
...
read -p "Souhaitez-vous ajouter une nouvelle machine (O/N) ?" vAjout
done
Il me detecte une erreur :
./essai.sh: line 2: [: =: unary operator expected
./essai.sh: line 2: [: command not found
Cordialement Madmat59
A voir également:
- [SHELL/BASH] boucle qui contient script
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Bingo bash free - Télécharger - Divers Jeux
- Pc qui s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
9 réponses
if faut quoter ta variable
car si elle n est pas definie elle est remplacé par du blanc
[ "$var" = "o" ]
car si elle n est pas definie elle est remplacé par du blanc
[ "$var" = "o" ]
J'ai un autre petit probleme, j'ai décidé de rajouter une petite vérification à la fin. cette vérification fonctionne mais il m'indique un message d'erreur : ./essai.sh: line 167: [: N=: unary operator expected
#!/bin/bash
until [ "$vAjout" = "n" ] || [ "$vAjout" = "N" ]
...
...
...
while :
do
echo "Souhaitez-vous ajouter une autre machine (O/N) ?"
read vAjout
if [ $vAjout = "o" ] || [ $vAjout = "O" ] || [ $vAjout= "n" ] || [ $vAjout = "N" ]
then
echo "Choix correct"
break
else
echo "Choix incorrect."
continue
fi
done
done
#!/bin/bash
until [ "$vAjout" = "n" ] || [ "$vAjout" = "N" ]
...
...
...
while :
do
echo "Souhaitez-vous ajouter une autre machine (O/N) ?"
read vAjout
if [ $vAjout = "o" ] || [ $vAjout = "O" ] || [ $vAjout= "n" ] || [ $vAjout = "N" ]
then
echo "Choix correct"
break
else
echo "Choix incorrect."
continue
fi
done
done
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Arf, ça ne fonctione pas il me met cette erreur :
Souhaitez-vous ajouter une autre machine (O/N) ?
n
./essai.sh: line 169: [: too many arguments
Souhaitez-vous ajouter une autre machine (O/N) ?
n
./essai.sh: line 169: [: too many arguments
[tmpfs]$ cat foo.sh #! /bin/sh #set -xv while : do read -p "Voulez-vous continuer ? [oO|nN] : " choix if [ "$choix" = "o" -o "$choix" = "O" -o "$choix" = "n" -o "$choix" = "N" ] then echo "OK";continue else echo "Bye...";break fi done [tmpfs]$ ./foo.sh Voulez-vous continuer ? [oO|nN] : o OK Voulez-vous continuer ? [oO|nN] : O OK Voulez-vous continuer ? [oO|nN] : n OK Voulez-vous continuer ? [oO|nN] : N OK Voulez-vous continuer ? [oO|nN] : z Bye... [tmpfs]$;-))