shell中case的用法學(xué)習(xí)筆記
shell中的case語句:
可以把變量的內(nèi)容與多個模板進行匹配,再根據(jù)成功匹配的模板去決定應(yīng)該執(zhí)行哪部分代碼。
使用格式:
case 匹配母板 in
模板1 [ | 模板2 ] … ) 語句組 ;;
模板3 [ | 模板4 ] … ) 語句組 ;;
esac
case語句的匹配是從上往下地匹配順序。因此,case語句編寫的原則是從上往下,模板從特殊到普通。在C語言里,case語句中有default模板,而在shell程序設(shè)計中,可能將模板寫成*,就可以完成相同的功能。
例1:
#!/bin/sh
echo "Please input \"yes\" or \"no\""
read var
case "$var" in
[yY][eE][sS] ) echo "Your input is YES" ;;
[nN][oO] ) echo "Your input is no" ;;
* ) echo "Input Error!" ;;
esac
exit 0
例2:
#!/bin/bash
FRUIT=$1 #注意沒有空格
if [ -z "$1" ] #中括號跟 -z 要有空格
then
echo "沒有在第一個參數(shù)輸入水果"
else
case "$FRUIT" in
apple|APPLE) echo "THE FRUIT is apple";;
banana|BANANA) echo "THE FRULT is banana";;
#可以使用*)來表示默認選項,注意最后要用兩個分號來結(jié)尾
*) echo "輸入的是不是我要的水果???";;
esac
fi
#--- $1既是外部傳參的值,如:運行該腳本的時候:./test.sh apple
#---此處apple既是$1
附另外一個示例:
#!/bin/bash
HOSTS=" nss.sh cs.sh SS.sh ds_handler2 tomcat blog httpd "
for myHost in $HOSTS
do
count=(`ps aux |grep -v grep |grep $myHost |wc -l`)
echo $myHost
echo $count
done
相關(guān)文章
shell腳本學(xué)習(xí)指南[四](Arnold Robbins & Nelson H
這篇文章主要介紹了shell腳本學(xué)習(xí)指南[四](Arnold Robbins & Nelson H.F. Beebe著),需要的朋友可以參考下2014-02-02Shell中的for和while循環(huán)詳細總結(jié)
這篇文章主要介紹了Shell中的for和while循環(huán)詳細總結(jié),本文講解了for循環(huán)的數(shù)字段形式、詳細列出、對文件進行循環(huán),while循環(huán)的三種使用場合等內(nèi)容,需要的朋友可以參考下2015-05-05實現(xiàn)shell終端代碼分享(可用戶登錄 實現(xiàn)系統(tǒng)命令)
實現(xiàn)shell終端代碼分享,實現(xiàn)用戶登錄,系統(tǒng)命令使用,大家參考實現(xiàn)吧2013-12-12Shell alias給命令設(shè)置別名的實現(xiàn)方法
這篇文章主要介紹了Shell alias給命令設(shè)置別名的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01