Rechercher : dans
Par :

[Shell] test opérateur logique OR

Dernière réponse le 11 mai 2009 à 14:11:21 Igor012, le 14 avr 2007 à 12:08:40 
 Signaler ce message aux modérateurs

Salut a tous,

je cherche la commande pour faire un OR logique dans :
while test $grp -ne 1 OR 2

Voila le OR ou les || ne sont pas reconnus mais pour -o je ne sais pas ou le placer.
Merci

Configuration: Linux Mandriva
Firefox 2.0.0.1

Meilleures réponses pour « [Shell] test opérateur logique OR » dans :
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
[Plantage] Reboot intempestif du PC VoirSommaire Qu'est ce qui fait rebooter un PC ? 1. Mémoires défectueuses 2. Conflit matériel 3. Surchauffe du processeur 4. Alimentation défectueuse 5. Conflit logiciel 6. Matériel défectueux 7. Le BIOS 8. Les virus Liens (virus) Astuces...
Windows 7 : Retrouver une barre de lancement rapide VoirEn complément de cette astuce : Une barre des tâches façon XP/Vista Sous Windows 7, il est possible de retrouver aussi la barre de lancement rapide,et qui aura pour avantage aussi ,d'éviter que les icônes de programmes "épinglés" ne se...
Télécharger TourOperator VoirSi vous voulez mettre un nouveau logiciel sur Internet ou si vous voulez juste expliquer le fonctionnement d'une application sur Windows, il vous faut TourOpérator. TourOperator est un programme permettant de créer des animations afin de simuler le...
PHP - Les opérateurs VoirQu'est-ce qu'un opérateur? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, ... On distingue plusieurs types d'opérateurs : les opérateurs de calcul les opérateurs...
Langage C - Les opérateurs VoirQu'est-ce qu'un opérateur ? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, etc. On distingue plusieurs types d'opérateurs : les opérateurs de calcul les opérateurs...
Java: les opérateurs VoirQu'est-ce qu'un opérateur? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, ... On distingue plusieurs types d'opérateurs : les opérateurs de calcul les...

1

lami20j, le 14 avr 2007 à 15:26:34

Salut,

while [ $grp -ne 1 ] || [ $grp -ne 2 ]

lami20j

Répondre à lami20j

2

Igor012, le 14 avr 2007 à 15:40:04

Salut,
j'ai fait ce que tu m'a dis, y a du mieux. mais maintenant ca tourne en rond

echo "Saisissez le login de l'utilsateur"
read login
echo "Saisissez un mot de passe"
read pass
echo "Saissiez le nom complet de l'utilisateur"
read nom
        while [ $grp -ne 1 ] || [ $grp -ne 2 ]
        do
        echo "Choissez le groupe auquel il va appartenir : 
        1->  administration
        2->  informatique"
        read grp
        done


apres ca il y a un case selon le choix 1 ou 2.
ps: les variables dont $grp ont été initialisées au début a 0

Répondre à Igor012

3

lami20j, le 14 avr 2007 à 16:09:31

Esssaie comme ça

#!/bin/bash

grp="oui"
echo -e "Saisissez le login de l'utilsateur : \c"
read login
echo -e "Saisissez un mot de passe : \c"
read pass
echo -e "Saissiez le nom complet de l'utilisateur : \c"
read nom

while true
do
case $grp in
'1' )
    echo administration
    ;;
'2' )
    echo informatique
    ;;
esac
    echo "Choissez le groupe auquel il va appartenir [ fin pour quitter ] : "
    echo "1->  administration"
    echo "2->  informatique"
    read grp

    if [ $grp = "fin" ];then
      break
    fi
done
lami20j

Répondre à lami20j

4

jipicy, le 14 avr 2007 à 17:22:46

Salut,

Ou pour rester dans ce que tu as déjà écrit :

echo "Saisissez le login de l'utilsateur"
read login
echo "Saisissez un mot de passe"
read pass
echo "Saissiez le nom complet de l'utilisateur"
read nom
        while [ "$grp" -ne "1" ] || [ "$grp" -ne "2" ]
        do
        echo -e "Choissez le groupe auquel il va appartenir :
        1->  administration
        2->  informatique"
        read grp
        if [ "$grp" = "1" -o "$grp" = "2" ]
        then break
        fi
        done
;-)
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

5

lami20j, le 14 avr 2007 à 18:27:11

Salut,

Ou pour rester dans ce que tu as déjà écrit :
je te l'accorde :-))
lami20j

Répondre à lami20j

6

jipicy, le 14 avr 2007 à 18:34:40

Hi,

je te l'accorde :-))
Je n'en attendais pas moins de ta part ;-))

PS. J-1 Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

7

Igor012, le 15 avr 2007 à 02:04:32

Merci a tous de votre aide :)
Je vous tiens au courant

Répondre à Igor012

11

 shmmini, le 11 mai 2009 à 14:11:21

Bonjour,

je sais que ça fait deux ans que tu as posté mais je me permets quand même de te répondre.
il me semble que ça tourne en rond à cause de ton test logique dans la condition de ton while. il te faut un and pas un or dans ton test.

quelque soit la valeur que tu entres, l'une des deux parties de la condition est vérifié ( si tu mets autre chose que 1 et 2 alors les deux sont vérifiées, si tu mets 1 alors la premièrec est vraie et donc le or l'est aussi et ça boucle, et pareil si tu mets 2).
salutations

Répondre à shmmini