shell練習(11)——運用case進行選單選擇
阿新 • • 發佈:2018-12-11
1. 習題
設計一個指令碼,讓使用者輸入數字選擇要執行的命令。例如,輸出如下的提示,讓使用者輸出指令。
*cmd meau** 1-date 2-ls 3-who 4-pwd
然後指令碼將執行的結果輸出到螢幕
2. 分析
提示出入選擇的,用case 命令最合適了。case 語句的結構:
case 變數 in value1 ) process1 ;; value2 ) process2 ;; value3) process3 ;; value4) process4 ;; *) process5; ;; esac
3. 指令碼
#!/bin/bash echo '*cmd meau** 1-date 2-ls 3-who 4-pwd' read -p "please input a number for your cmd: " n n2=`echo $n | sed 's/[0-9]//g'` if [ -n "$n2" ];then echo "The input content is not a number." exit fi case $n in 1) date ;; 2) ls ;; 3) who ;; 4) pwd ;; *) echo "please input a number 1-4" ;; esac
分析
首先,按照題目要求輸出提示行
然後,用read 讀入使用者輸入的內容
讀取內容之後,就要對內容進行判斷。如果不是數字則要退出,重新執行。
如果是數字,則需要新增超出1-4範圍的判斷,提示使用者超出了範圍