- 论坛徽章:
- 0
|
请大家帮帮我,看一下这个shell程序怎么编?急~我明天就要交了
- #!/bin/sh
- colour()
- {
- case $1 in
- black_green)echo -n "^[[40;32m";;
- black_yellow)echo -n "^[[40;33m";;
- black_white)echo -n "^[[40;37m";;
- black_cyan)echo -n "^[[40;36m";;
- black_red)echo -n "^[[40;31m";;
- red_yellow)echo -n "^[[41;33m";;
- *)
- echo "usage:xy [black_green|black_yellow|black_white|black_cyan|black_red|red_yellow]"
- return 1;;
- esac
- }
- xy()
- {
- _R=$1
- _C=$2
- _STR=$3
- tput cup $_R $_C
- echo -n $_STR
- }
- center()
- {
- _ROW=$1
- _STR=$2
- COLS=`tput cols`
- LEN=`echo $_STR|wc -c`
- HOLD_COLS=`expr $COLS - $LEN`
- NEW_COLS=`expr $HOLD_COLS / 2`
- tput cup $_ROW $NEW_COLS
- echo -n $_STR
- }
- get_char()
- {
- SAVEDSTTY=`stty -g`
- stty icanon
- dd if=/dev/tty bs=1 count=1 2>/dev/null
- stty -icanon
- stty $SAVEDSTTY
- }
- cursor()
- {
- _OPT=$1
- case $_OPT in
- on)echo "^[[?25h";;
- off)echo "^[[?25l";;
- *)echo "Usage:cursor [on|off]"
- return 1
- ;;
- esac
- }
- my_exit()
- {
- cursor on
- colour black_white
- rm *.$$
- exit 0
- }
- tput init
- trap "" 2 3 15
- while :
- do
- tput clear
- colour black_green
- xy 3 1 "------------------------------------------------------"
- xy 5 1 "User:`whoami`"
- xy 5 38 "Host:`hostname`"
- xy 5 68 "Date:`date`:"
- xy 7 1 "------------------------------------------------------"
- center 9 "1.List files in current directoy"
- center 11 "2.Use vi editor "
- center 13 "3.See who is on system "
- center 15 "4.find files have been accessed during 24hours"
- center 17 "5......."
- center 19 "6......."
- center 21 "7......."
- center 23 "Q : Quit system"
- xy 25 1 "-------------------------------------------------------"
- colour black_cyan
- center 27 "Your Choice[1,2,3,4,Q]:"
- read CHOICE
- CHOICE=`get_char`
- case $CHOICE in
- 1)List files in current directoy;;
- 2)Use vi editor;;
- 3)who;;
- 4)find / -atime -1 -print;;
- q|q)my_exit;;
- *)center 30 "Unknown user response";;
- esac
- center 32 "Hit the return key to continue"
- read DUMMY
- done
复制代码
bash/sh下测试通过,该脚本含有屏幕控制功能,有不对的地方,欢迎大家讨论 |
|