天天看點

linux之shell程式設計select和case用法

shell裡的select用法:

文法:

1

2

3

4

5

6

7

8

9

<code>#i/bin/bash</code>

<code>select</code> <code>變量 </code><code>in</code> <code>清單</code>

<code>do</code>

<code>    </code><code>要執行的語句</code>

<code>    </code> 

<code>done</code>

舉例:

10

11

<code>#!/bin/bash</code>

<code>echo</code> <code>"What is your favourite OS?"</code>

<code>select</code> <code>var </code><code>in</code> <code>"windows"</code> <code>"Linux"</code> <code>"Gnu Hurd"</code> <code>"Free BSD"</code> <code>"Other"</code><code>;</code>

<code>   </code><code>echo</code> <code>"You have selected $var"</code>

執行結果:

<a href="https://s1.51cto.com/wyfs02/M00/9B/18/wKioL1ld-jqxGImWAAApEhdvKFI641.png-wh_500x0-wm_3-wmp_4-s_3425929378.png" target="_blank"></a>

shell裡的case用法:

12

13

14

15

<code>case</code> <code>$1 </code><code>in</code>

<code>        </code><code>選項1)</code>

<code>        </code><code>要執行的指令</code>

<code>        </code><code>;;</code>

<code>        </code> 

<code>        </code><code>選項2)</code>

<code> </code><code>esac</code>

.寫一個腳本/root/case.sh,當使用者輸入/root/case.sh all顯示none

/root/case.sh none 顯示all,當使用者執行/root/case.sh 或非all 或none時,将

“error:plase usage /root/myscnpts.sh none/all" 使用标準錯誤輸出

<code>        </code><code>all)</code>

<code>        </code><code>echo</code> <code>none</code>

<code>        </code><code>none)</code>

<code>        </code><code>echo</code> <code>all</code>

<code>        </code><code>*)</code>

<code>        </code><code>echo</code>  <code>'error:please usage /root/myscnpts.sh none|all'</code>

<code>esac</code>

<a href="https://s2.51cto.com/wyfs02/M00/9B/18/wKiom1ld_CXATBs2AAAYDEgbpqI728.png-wh_500x0-wm_3-wmp_4-s_1118634328.png" target="_blank"></a>

總結和注意:

    在運作的時候一定要有執行的權限,最好是777的權限,

    select可以是互動式的,如果不想是互動式,可以在語句塊後加break;

    case不是互動式的,可以用作菜單選項。

<a href="https://s5.51cto.com/wyfs02/M01/9B/18/wKiom1ld_D7AFssbAAQF1aT1ixQ307.png" target="_blank"></a>

本文轉自 天道酬勤VIP 51CTO部落格,原文連結:http://blog.51cto.com/tdcqvip/1945071

繼續閱讀