linux-if / elif / fi-Befehl
Ich habe eine Frage. Wenn meine if
Aussage ist true
ist, tut es überspringen elif
überprüfen und geht direkt zu fi
oder tut es immer noch, prüfen Sie die elif
Aussagen?
Beispiel für das script :
if [ argument1 || argument2 ]
then
do something.
elif [ argument2 || argument3 ]
then
do something.
elif [ argument2 || argument4 ]
then
do somthing.
else
do somthing else.
fi
Meine Frage ist, dass ich möchte, dass meine elif
Aussagen, die noch überprüft werden, ob meine erste if
Aussage wahr war. Ich möchte auch meine elif
Aussagen zu prüfen, ob meine erste elif
Aussage war true
... etc. Grundsätzlich würde ich wollen, dass alle meine if
und elif
Aussagen alle überprüft werden.
NB. Ich merke, ich könnte alles ändern meine elif
zu if
Aussagen, und dies würde wahrscheinlich beheben mein Problem, da alle if
Aussagen würden überprüft werden. Aber diese Frage ist auch aus Neugier und bessere Kenntnis der if
und elif
Aussagen.
Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.
- Der ganze Sinn von else if ist das. Können Sie nur verwenden, wenn ausgeführt alle Befehle wahr
[ condition || condition ]
ist nicht gültig, müssen Sie[[
.[[ condition || condition ]]
sonst[ condition ] || [ condition ]
.- Ah ja! Danke, ich erkannte dies, während Sie ein paar Skript-Tests. 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
elif
Aussage wird nicht überprüft, wenn eine der vor Einsen aufeinander abgestimmt.elif
ist die Abkürzung für "else if", es bedeutet, dass Sie sollten überprüfen, dieser andere Zustand, wenn die vorherigen nicht übereinstimmt.Wie Sie sagen, können Sie einfach mehrere
if
Anweisungen für Ihren Fall.Sobald eine Bedingung erfüllt ist, wird die
if
- Anweisung beendet und die restlichenelif
Bedingungen werden nicht überprüft.Beispiel:
Drucke
Wenn Sie möchten, dass Sie alle überprüft, dann müssen Sie es zu brechen in mehrere if-Anweisungen, wie Sie vorgeschlagen.