Shell腳本編程之創建文本菜單


2016/06/10 

創建交互式shell腳本最常用的方法是使用菜單。提供各種選項可以幫助腳本用戶了解腳本能做什么,不能做什么;通常菜單腳本會清空顯示區域,然后顯示可用的選項列表。用戶可以按下與每個選項關聯的字母或數字來選擇選項
Shell腳本菜單的核心是case命令,case命令會根據用戶在菜單上的選擇來執行特定命令

1. 使用典型的case語句創建文本菜單:

#!/bin/bash
#simple script menu

function diskspace {
 clear 
 df -k
}

function whoseon {
 clear
 who
}

function memusage {
 clear
 cat /proc/meminfo
}

function menu {
  clear 
  echo
  echo -e "\t\tSys Admin Menu"
  echo -e "\t1. Display disk space"
  echo -e "\t2. Display logged on users"
  echo -e "\t3. Display memory usage"
  echo -e "\t0. Exit program\n\n"
  echo -en "\tEnter option: "
  read -n 1 option
}

while [ 1 ]
do
 menu

 case $option in
 0)
   break ;;
 1)
   diskspace ;;
 2)
   whoseon ;;
 3)
   memusage ;;
 *)
   clear
   echo "Sorry.wrong selection" ;;
 esac

 echo -en "\n\n\t\t\tHit any key to continue: "
 read -n 1 line

done
clear








2. 使用select命令創建菜單
select 命令的格式如下:
select variable in list
do 
  commands
done


list參數是構成菜單的空格分割的文本選項列表。select命令會在列表中將每個選項作為一個編好號的選項顯示,然后為選項顯示一個特殊的由
PS3環境變量定義的提示符。
#!/bin/bash
#simple script menu

function diskspace {
 clear 
 df -k
}

function whoseon {
 clear
 who
}

function memusage {
 clear
 cat /proc/meminfo
}

PS3="Enter option: "
select option in "Display disk space" "Display logged on users" "Display memory usage" "Exit program"
do
  case $option in
  "Exit program")
        break ;;
  "Display disk space")
        diskspace ;;
  "Display logged on users")
        whoseon ;; 
  "Display memory usage")
        memusage ;;
   *)
     clear
     echo "Sorry.wrong selection"
   esac

done
clear






【聲明】歡迎轉載,但請保留文章原始出處:http://blog.csdn.net/yelangjueqi/article/details/51636682


結束!

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com