1

質問があります。私のifステートメントがtrueである場合、チェックをスキップしてelif直接に進みますか、それともステートメントをfiチェックしelifますか?

スクリプトの例:

if [ argument1 || argument2 ]  
     then  
          do something.  
elif [ argument2 || argument3 ]  
     then  
          do something.  
elif [ argument2 || argument4 ]  
     then  
          do somthing.  
else  
          do somthing else.  
fi  

私の質問は、私の最初のステートメントが真であるelif場合でも、私のステートメントをチェックしたいということです。ifまたelif、最初のelifステートメントがtrue...などの場合は、ステートメントをチェックする必要があります。基本的に、すべてのステートメントifelifステートメントをすべてチェックする必要があります。

NB。elifすべてのステートメントを変更できることに気付きました。すべてのステートメントがチェックifされるため、これで問題が解決する可能性があります。ifしかし、この質問は、好奇心と、ifおよびelifステートメントに関するより良い知識からも外れています。

さらに情報が必要な場合はお知らせください。

4

3 に答える 3

4

前のelifステートメントのいずれかが一致した場合、ステートメントはチェックされません。elif「else if」の略です。前の条件が一致しなかった場合は、この別の条件を確認する必要があることを意味します。

あなたが言うようifに、ユースケースには複数のステートメントを使用できます。

于 2012-10-01T15:50:36.847 に答える
1

条件が満たされると、ifステートメントは終了し、残りのelif条件はチェックされません。

例:

if echo foo
then
   echo "in foo"
elif echo bar
then
   echo "in bar"
fi

版画

foo
in foo

それらをすべてチェックしたい場合は、提案したように複数のifステートメントに分割する必要があります。

于 2012-10-01T15:51:07.220 に答える