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