新聞中心
如果您之前學習過C語言,看到這一小節(jié)的標題肯定會會心一笑“這不就是switch語句嘛!”是的,case條件測試語句和switch語句的功能非常相似!case語句是在多個范圍內匹配數(shù)據(jù),若匹配成功則執(zhí)行相關命令并結束整個條件測試;而如果數(shù)據(jù)不在所列出的范圍內,則會去執(zhí)行星號(*)中所定義的默認命令。case語句的語法結構如圖4-22所示。

10年積累的網(wǎng)站設計、做網(wǎng)站經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有大埔免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
圖4-22 case條件測試語句的語法結構
在前文介紹的Guess.sh腳本中有一個致命的弱點—只能接受數(shù)字!您可以嘗試輸入一個字母,會發(fā)現(xiàn)腳本立即就崩潰了。原因是字母無法與數(shù)字進行大小比較,例如,“a是否大于等于3”這樣的命題是完全錯誤的。我們必須有一定的措施來判斷用戶的輸入內容,當用戶輸入的內容不是數(shù)字時,腳本能予以提示,從而免于崩潰。
通過在腳本中組合使用case條件測試語句和通配符(詳見第3章),完全可以滿足這里的需求。接下來我們編寫腳本Checkkeys.sh,提示用戶輸入一個字符并將其賦值給變量KEY,然后根據(jù)變量KEY的值向用戶顯示其值是字母、數(shù)字還是其他字符。
[root@linuxprobe ~]# vim Checkkeys.sh
#!/bin/bash
read -p "請輸入一個字符,并按Enter鍵確認:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "您輸入的是 字母。"
;;
[0-9])
echo "您輸入的是 數(shù)字。"
;;
*)
echo "您輸入的是 空格、功能鍵或其他控制字符。"
esac
[root@linuxprobe ~]# bash Checkkeys.sh
請輸入一個字符,并按Enter鍵確認:6
您輸入的是 數(shù)字。
[root@linuxprobe ~]# bash Checkkeys.sh
請輸入一個字符,并按Enter鍵確認:p
您輸入的是 字母。
[root@linuxprobe ~]# bash Checkkeys.sh
請輸入一個字符,并按Enter鍵確認:^[[15~
您輸入的是 空格、功能鍵或其他控制字符。 網(wǎng)頁名稱:創(chuàng)新互聯(lián)linux教程:4.3.4case條件測試語句
文章源于:http://m.fisionsoft.com.cn/article/cojsoij.html


咨詢
建站咨詢
