Integer-Vergleich in der Bash mit if-else

Habe ich eine variable namens choice. Nun, ich versuche zu verwenden, wenn vergleichen, um den eingegebenen Wert:

read $choice

if [ "$choice" ==  2  ];then
       #do something
elif [ "$choice" == 1 ];then
       #do something else
else
     echo "Invalid choice!!"
fi

Der Ausgang geht direkt auf ungültige Wahl, wenn ich geben Sie entweder 1 oder 2. Ich versuchte, setzen Sie Anführungszeichen um die 1 und 2 innerhalb der if-Anweisung. Funktioniert immer noch nicht. Mit -eq gibt mir eine Fehlermeldung "Unärer operator erwartet".Was mache ich hier falsch?

InformationsquelleAutor rahuL | 2013-08-10

Schreibe einen Kommentar