Problème condition shell imbriqué

Résolu
gijoe83160 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
linuxnico Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je vais vous indiquer mon code et vous dire le message d'erreur que j'ai.

#!/bin/bash

HOST=`hostname`

echo "1- tutu"
echo "2- toto"
echo "3- tata"
echo "4- titi"

read -p "veuillez choisir le nom de la personne : " CHOICE

if [ "$CHOICE" == "1" ] || [ "$CHOICE" == "4" ]
then
if [ "$HOST" != "windows" ] || [ "$HOST" != "linux" ]
then
echo "veuiller lancer la commande depuis le poste windows ou linux"
fi

echo "la personne est $CHOICE"
fi

Mon problème est que le premier if avec la condition "ou" fonctionne mais quand le deuxième s'execute le message suivant s'affiche [missing ] .

Je ne comprends pas pourquoi la première condition avec le ou fonctionne mais pas la deuxième


Merci

3 réponses

linuxnico Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   10
 
je comprends pas trop ce que tu veux faire, mais dans ton deuxième IF, tu veux pas savoir si $HOST est différent de windows ET différents de Linux???

parce que la ta mis un OU?

sinon, je pige pas ton [missing] c'est ton erreur? (mets voir le vrai résultats de ton script une copie du shell)
0
gijoe83160 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour la réponse,

en fait je n'avait pas d'erreur, j'ai confondu avec une autre manière d'écrire. Tu avais raison c'est ma logique qui n'était pas bonne. En y réfléchissant un petit peu la condition est &&.
0
linuxnico Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   10
 
bien.

un petit resolu dans ton post? ca serai bien
0