2015-07-22 101 views
-3

使用開關的情況下酮在另一起案件中是否有可能在交換機使用的情況下,在其他情況下,殼 聲明如何在外殼

case "$1" in 
    1) do action 
    ;; 
    2) 
    1 
    do action 
    ;; 
    3) 
    2 
    ;; 
    ...... 
     .......... 
     ............ 

幫幫我在這請

這是我想要的一個例子

case $ 1 in 1) echo'level 1' ;; 2)回聲電平2' 3)回聲級別3' ........

輸出:./case 3

水平1水平級別3

+1

「one one another case」?咦?如果你想要的是貫穿性的,那就有一個名字,你可以考慮使用它。 –

回答

1

像這樣:

case "$1" in 
    1) do action 

     case "$2" in 
      1) 
       do action 
       ;; 

      another_option) 
       echo blah 
       ;; 

      *) 
       do default actions for this case 
       ;; 
     esac 

     ;; 
    2) 
     1 
     do action 
     ;; 
    3) 
     2 
     ;; 
     ...... 
      .......... 
      ............ 

嵌套情況下,使用argum ent 2

如果您不擔心訂單,則可以使用;&進入bash> 4.0中的下一個案例。

case "$1" in 
    3) 
     echo 'level 3' 
     ;& 

    2) 
     echo 'level 2' 
     ;& 

    1) 
     echo 'level 1' 
     ;; 

esac 
+0

我們不能使用2中的情況1嗎? – maker

+0

@maker如果這是問題,您可以訪問第二個case語句中的所有變量。如果不是,我不確定你在問什麼。 –

+0

我試了一下,但它的說法是1作爲身份不明的令牌 – maker