danny@neptune.iex.com (Danny Shaw) (02/12/91)
This is a very early attempt I had at a menu driven UNIX front end for novice users. It is written in ksh. Sorry haven't had time to port it to sh or csh Put the file easy in /usr/local/bin. Put the file easy.h and easy.time in /usr/local/bin. type % easy You will probably need to modify the Main menu to use something other than ELM, RN, and Tsheet. It is in no way Guaranteed, all liabilities are that of the user. Feel free to Modify in any way. Mail me suggestions or comments as to how it could be better. There will be three files to cut out. 1. easy 2. easy.h 3. easy.time +++++++++++++++++++CUT HERE and name it 'easy'++++++++++++++++++++++++++++++++ /usr/local/lib/easy.h 2>/dev/null +++++++++++++++++++CUT HERE and name it 'easy.h'++++++++++++++++++++++++++++++ # !/bin/ksh ######################################################################## ######### # A script to help Non-UNIX users move through a Unix environment. # Written by: Danny Shaw # Last Modification date: 2/8/91 ######################################################################## ######### # Set up variables # BOLD=`tput smso` OFF=`tput rmso` BELL='tput bel' FNAME=`awk -F":" '$1 == "'$USER'" {print $5} ' /etc/passwd | cut -d" " -f1` INFO="Type <RETURN> to continue..." INVALID="Type file name or <q> to return to the menu screen. -> " TIME1='/usr/local/lib/easy.time -1 &' TIME2='/usr/local/lib/easy.time -2 &' # Draw the main menu screen # clear while true do clear date '+DATE: %m/%d/%y' /usr/bin/echo " ${BOLD}IEX Corporation${OFF} MENU driven UNIX system." /usr/bin/echo "" /usr/bin/echo -n ${FNAME}", Type: ${BOLD} 1 ${OFF} to read mail (elm) ${BOLD} 2 ${OFF} to read news (rn) ${BOLD} 3 ${OFF} file/directory management ${BOLD} 4 ${OFF} Tsheet ${BOLD} 5 ${OFF} Fortune ${BOLD} 6 ${OFF} UNIX-SHELL ${BOLD} q ${OFF} to quit - > [ ]" eval $TIME1 TIMEPID=$! # If named option is given redefine it to a numarical value # read ANS FILE case $ANS in elm) ANS="1" ;; rn) ANS="2" ;; [Tt]sheet) ANS="4" ;; [Ff]ortune) ANS="5" ;; [Uu]*[Xx]) ANS="6" ;; q) ANS="q" ;; esac # Main menu selections # case $ANS in 1) kill -9 $TIMEPID /usr/bin/echo -n "Read Mail? Please answer ${BOLD} Y ${OFF}es or ${BOLD} N ${OFF}o... - > " $BELL while read FILE do case $FILE in [Nn]) break ;; [Yy]) if [ $FILE = "q" ] then break else /usr/local/bin/elm break fi ;; esac done ;; 2) kill -9 $TIMEPID /usr/bin/echo -n "Read News? Please answer ${BOLD} Y ${OFF}es or ${BOLD} N ${OFF}o... - > " $BELL while read FILE do case $FILE in [Nn]) break ;; [Yy]) if [ $FILE = "q" ] then break else clear /usr/local/bin/rn break fi ;; esac done ;; # Draw Sub-menu menu screen # 3) kill -9 $TIMEPID clear while true do clear date '+DATE: %m/%d/%y' /usr/bin/echo " FILE MANAGEMENT SYSTEM" /usr/bin/echo /usr/bin/echo -n $FNAME", Type: ${BOLD} 1 ${OFF} to view a file (more) ${BOLD} 2 ${OFF} to edit a file (vi) ${BOLD} 3 ${OFF} to print a file (lpr) ${BOLD} 4 ${OFF} to copy a file (cp) ${BOLD} 5 ${OFF} to rename a file (mv) ${BOLD} 6 ${OFF} to delete a file (rm) ${BOLD} 7 ${OFF} to list a directory (ls) ${BOLD} 8 ${OFF} to change directories (cd) ${BOLD} q ${OFF} to quit to main menu - > [ ]" eval $TIME2 TIMEPID=$! # If named option is given redefine it to a numarical value # read ANS FILE case $ANS in more) ANS="1" ;; vi) ANS="2" ;; lpr) ANS="3" ;; cp) ANS="4" ;; mv) ANS="5" ;; rm) ANS="6" ;; ls) ANS="7" ;; cd) ANS="8" ;; q) ANS="q" ;; esac # Sub-menu selections for file manipulation # case $ANS in 1) kill -9 $TIMEPID /usr/bin/echo -n "view what file? - > " $BELL while read FILE do if [ -z "$FILE" ] then clear ls -f /usr/bin/echo -n $INVALID $BELL else if [ $FILE = "q" ] then break else if [ -s $FILE ] then more $FILE /usr/bin/echo -n $INVALID fi fi fi done clear ;; 2) kill -9 $TIMEPID /usr/bin/echo -n "vi what file? - > " $BELL -p while read FILE do if [ -z "$FILE" ] then clear ls -f /usr/bin/echo -n $INVALID $BELL else if [ $FILE = "q" ] then break else if [ -s "$FILE" ] then vi $FILE /usr/bin/echo -n $INVALID fi fi fi done ;; 3) kill -9 $TIMEPID /usr/bin/echo -n "print what file? - > " $BELL -p while read FILE do if [ -z "$FILE" ] then clear ls -f /usr/bin/echo -n $INVALID $BELL else if [ $FILE = "q" ] then break else if [ -s "$FILE" ] then lpr -P$PRINTER $FILE /usr/bin/echo "File has been printed to your default printer" /usr/bin/echo -n $INVALID fi fi fi done ;; 4) kill -9 $TIMEPID /usr/bin/echo -n "copy what file? - > " $BELL -p while read FILE do if [ -z "$FILE" ] then clear ls -f /usr/bin/echo -n $INVALID $BELL else if [ $FILE = "q" ] then break else if [ -s "$FILE" ] then /usr/bin/echo -n "Enter the new file name: " read ANS cp $FILE $ANS /usr/bin/echo -n $INVALID fi fi fi done ;; 5) kill -9 $TIMEPID /usr/bin/echo -n "rename what file? - > " $BELL -p while read FILE do if [ -z "$FILE" ] then clear ls -f /usr/bin/echo -n $INVALID $BELL else if [ $FILE = "q" ] then break else if [ -s "$FILE" ] then /usr/bin/echo -n "Enter the new file name: " read ANS mv $FILE $ANS /usr/bin/echo -n $INVALID fi fi fi done ;; 6) kill -9 $TIMEPID /usr/bin/echo -n "delete what file? - > " $BELL -p while read FILE do if [ -z "$FILE" ] then clear ls -f /usr/bin/echo -n $INVALID $BELL else if [ $FILE = "q" ] then break else if [ -s "$FILE" ] then rm $FILE /usr/bin/echo -n $INVALID fi fi fi done ;; 7) kill -9 $TIMEPID clear ls -Ff echo "Current directory is "$PWD echo /usr/bin/echo -n $INFO read ANS $BELL ;; 8) kill -9 $TIMEPID /usr/bin/echo -n "cd to what directory? - > " $BELL while read FILE do if [ -z "$FILE" ] then clear ls -Ff echo "Current directory is "$PWD /usr/bin/echo -n $INVALID $BELL else if [ $FILE = "q" ] then break else if [ -d "$FILE" ] then cd $FILE echo "Current directory is "$PWD echo /usr/bin/echo -n $INVALID fi fi fi done ;; [qQ]) kill -9 $TIMEPID break ;; *) kill -9 $TIMEPID ;; esac done ;; 4) kill -9 $TIMEPID /usr/local/bin/tsheet echo $INFO ;; 5) kill -9 $TIMEPID /usr/games/fortune echo $INFO read ANS ;; 6) kill -9 $TIMEPID echo "Type 'exit' when you want to leave the UNIX-SHELL" echo "Hit <RETURN>..." read ANS clear /bin/csh -i ;; [qQ]) kill -9 $TIMEPID break ;; *) /usr/bin/echo Sorry that name is not recognized /usr/bin/echo $INFO /usr/bin/echo WHOOPS read ANS kill -9 $TIMEPID ;; esac done /usr/bin/echo "See Ya" $FNAME", It has been fun!" exit ++++++++++++CUT HERE and name it easy.time ++++++++++++++++++++++++++++++++++ for ARG in $* do case $ARG in -1) CURLOC='tput cup 19 29' ;; -2) CURLOC='tput cup 22 29' ;; esac done TIMELOC='tput cup 0 63' HOUR=`date '+%H'` MIN=`date '+%M'` SEC=`date '+%S'` while [ $HOUR -lt 24 ] do while [ $MIN -lt 60 ] do while [ $SEC -lt 60 ] do $TIMELOC echo -n "Time: $HOUR:$MIN:$SEC " $CURLOC sleep 5 SEC=`expr $SEC + 5` done SEC=0 MIN=`expr $MIN + 1` done MIN=0 HOUR=`expr $HOUR + 1` done echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ uunet!iex!neptune!danny ~ IEX CORPORATION- ~ ~ Whats in a sig. anyway? ~ 1400 Preston rd. #350 ~ ~ ~ Plano, TX. 75093 ~ ~i'd rather be water skiing ~ (214) 612-2600 ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~