今天有一個朋友請教我一到Shell 題以下:sql
上機實驗題:
1. 用shell編寫一個腳本,實現如下功能。
a) 程序須要實現如下可供用戶選擇的操做界面:shell
注:USER後顯示當前登錄用戶名;
HOST後顯示主機名
DATA後顯示當前系統時間,時間格式請轉換爲:DDMMYYYY;
b) 系統使用者選擇1號業務,用戶輸入提取次數和提取間隔,請將提取結果打印在系統終端上。bash
c) 系統使用者選擇2號業務,用戶輸入提取次數和提取間隔,請將提取結果輸出到以當前的系統時間爲標準的日誌文件中,格式爲10:24:53.log。
d) 系統使用者,選擇3號業務,則退出當前操做界面。ide
看了下。我還真沒有寫過。之前有的while寫的簡單的菜單。剛纔花時間作了這道題:學習
貼出腳本:this
- #! /bin/bash
- #LiuYu liuyu.blog.51cto.com
- while true
- do
- clear
- echo
- echo "-------------------------------------------------------------------------"
- tput cup 2 10
- time=`date +"%d%m%Y"`
- echo -ne "USER:$USER\tHOST:$HOSTNAME\tdate:$time"
- echo
- tput cup 3
- echo "-------------------------------------------------------------------------"
- tput cup 4 10
- echo -e "1:提取系統內存,而且在系統終端顯示內容;"
- tput cup 5 10
- echo -e "2:提取系統內存,寫入文件;"
- tput cup 6 10
- echo -e "3:退出;"
- tput cup 7
- echo "--------------------------------------------------------------------------"
- echo
- tput cup 8
- echo "LiuYu "
- tput cup 9 8
- echo -n "You choice [1,2,3]:"
- read AA
- case $AA in
- 1)tput cup 10
- echo -n "請輸入提取次數:"
- read BB1
- echo -n "請輸入提取間隔:"
- read BB2
- echo -n "開始提取:"
- echo -e $time
- free -s $BB1 -c $BB2
- echo -n "提取結束"
- ;;
- 2)tput cup 11
- time2=`date +"%X"`
- echo -n "請輸入提取次數:"
- read cc1
- echo -n "請輸入提取間隔:"
- read cc2
- echo -n "開始提取:"
- echo -n $time
- free -s $cc1 -c $cc2 >> $time2.log
- echo -n "提取結束"
- ;;
- 3)exit
- ;;
- *)echo "liuyu.blog.51cto.com!"
- ;;
- esac
- read opendoc
- done
代碼效果:spa
輸入2:日誌
一塊兒學習下~~ 還有不完善的地方~~ 呵呵!blog