一、case語法
case 變量引用(${}) in
value1)
語句1
語句2
…
;;
value2)
語句1
語句2
…
;;
value3)
語句1
語句2
…
;;
*)
語句1
語句2
…
;;
esac
case語句相對if語句比較直觀簡潔,用法也相對比較簡單。
case示例:
根據選項讓用戶選擇,然後根據用戶所選選項顯示出相應的信息
如果用戶選擇了第一項,則顯示硬盤使用信息
如果用戶選擇了第二項,則顯示內存使用信息
如果用戶現在了第三項,則選擇CPU負載信息
如果用戶選擇了第四項,則推出程序
#!/bin/bash #Version:0.1 #Author:Myb_sir #Pragram:這是一個case語句的基本用法 #Date:2014-03-30 #shwo()是一個函數,用法也比較簡單,主要用在shell腳本中的調用 showmenu(){ echo -n '#------------' echo -n -e '\033[1;32m菜單\033[0m' echo '------------#' echo -e "# \033[31md|D)顯示硬盤使用信息\033[0m #" echo -e "# \033[31mm|M)顯示內存使用信息\033[0m #" echo -e "# \033[31ml|L)顯示CPU負載信息\033[0m #" echo -e "# \033[31mq|Q)退出系統\033[0m #" echo -n '#--------' echo -n -e '\033[1;32m版權所有:Myb\033[0m' echo '-------#' } #調用showmenu函數並清除屏幕 clear showmenu #提示用戶輸入一個選項 read -p "請從選項中選擇:" Choice #使用while語句實現循環,只有當用戶輸入q或者Q時纔會退出程序 while [ "$Choice" != "q" -o "$Choice" != "Q" ];do case $Choice in d|D) echo "#########硬盤使用信息#########" df -lh ;; m|M) echo "##########內存使用信息########" free -m ;; l|L) echo "##########CPU負載信息#########" uptime ;; q|Q) echo "############退出系統##########" exit 5 ;; *) echo "#########您的輸入有誤!#######" ;; esac #調用showmenu函數 showmenu #提示用戶重新輸入選項 read -p "請從選項中選擇:" Choice done
執行結果:
總結:case條件判斷看起來比較簡潔,這個腳本中使用了函數調用、while循環語句、case選擇語句、read命令和echo命令中的設置顏色功能,總體來說比較簡單。只要思路清晰就可以很快的寫出來。