Problème condition shell imbriqué

Résolu
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
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. 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)
    1. 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 &&.