home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 2 / 2739 < prev    next >
Encoding:
Internet Message Format  |  1991-02-13  |  11.3 KB

  1. From: danny@neptune.iex.com (Danny Shaw)
  2. Newsgroups: alt.sources
  3. Subject: EASY, a menu driven front end for UNIX
  4. Message-ID: <1991Feb11.224411.10152@iex.uucp>
  5. Date: 11 Feb 91 22:44:11 GMT
  6.  
  7.  
  8. This is a very early attempt I had at a menu driven UNIX front end for
  9. novice users.
  10.  
  11. It is written in ksh. Sorry haven't had time to port it to sh or csh
  12. Put the file easy in /usr/local/bin.
  13. Put the file easy.h and easy.time in /usr/local/bin.
  14. type % easy
  15. You will probably need to modify the Main menu to use something other than
  16. ELM, RN, and Tsheet.
  17. It is in no way Guaranteed, all liabilities are that of the user.
  18. Feel free to Modify in any way.
  19.  
  20. Mail me suggestions or comments as to how it could be better.
  21.  
  22. There will be three files to cut out.
  23. 1. easy
  24. 2. easy.h
  25. 3. easy.time
  26.  
  27. +++++++++++++++++++CUT HERE and name it 'easy'++++++++++++++++++++++++++++++++
  28. /usr/local/lib/easy.h 2>/dev/null
  29.  
  30. +++++++++++++++++++CUT HERE and name it 'easy.h'++++++++++++++++++++++++++++++
  31.  # !/bin/ksh
  32. ########################################################################
  33. #########
  34. # A script to help Non-UNIX users move through a Unix environment.
  35. # Written by: Danny Shaw
  36. # Last Modification date: 2/8/91
  37. ########################################################################
  38. #########
  39.  
  40. # Set up variables #
  41.  
  42. BOLD=`tput smso`
  43. OFF=`tput rmso`
  44. BELL='tput bel'
  45. FNAME=`awk -F":" '$1 == "'$USER'" {print $5} ' /etc/passwd | cut -d" " -f1`
  46. INFO="Type <RETURN> to continue..."
  47. INVALID="Type file name or <q> to return to the menu screen.  ->  "
  48. TIME1='/usr/local/lib/easy.time -1 &'
  49. TIME2='/usr/local/lib/easy.time -2 &'
  50.  
  51. # Draw the main menu screen #
  52.  
  53. clear
  54. while true
  55.  do
  56.    clear
  57.    date '+DATE: %m/%d/%y'
  58.    /usr/bin/echo "                             ${BOLD}IEX Corporation${OFF}
  59.                           MENU driven UNIX system." 
  60.    /usr/bin/echo ""
  61.    /usr/bin/echo -n ${FNAME}", Type:
  62.             ${BOLD} 1 ${OFF} to read mail (elm)
  63.             
  64.             ${BOLD} 2 ${OFF} to read news (rn)
  65.  
  66.             ${BOLD} 3 ${OFF} file/directory management
  67.  
  68.             ${BOLD} 4 ${OFF} Tsheet
  69.  
  70.             ${BOLD} 5 ${OFF} Fortune
  71.  
  72.             ${BOLD} 6 ${OFF} UNIX-SHELL
  73.  
  74.             ${BOLD} q ${OFF} to quit
  75.  
  76.             - > [    ]"
  77.  
  78.     eval $TIME1 
  79.     TIMEPID=$!
  80.  
  81. # If named option is given redefine it to a numarical value #
  82.  
  83.    read ANS FILE
  84.     case $ANS in
  85.         elm)
  86.             ANS="1"
  87.         ;;
  88.         rn)
  89.             ANS="2"
  90.         ;;
  91.         [Tt]sheet)
  92.             ANS="4"
  93.         ;;
  94.         [Ff]ortune)
  95.             ANS="5"
  96.         ;;
  97.         [Uu]*[Xx])
  98.             ANS="6"
  99.         ;;
  100.         q)
  101.             ANS="q"
  102.         ;;
  103.     esac
  104.  
  105. # Main menu selections #
  106.  
  107.    case $ANS in
  108.      1) 
  109.         kill -9 $TIMEPID 
  110.        /usr/bin/echo -n "Read Mail? 
  111. Please answer ${BOLD} Y ${OFF}es or ${BOLD} N ${OFF}o...
  112.        - > "
  113.        $BELL
  114.        while read FILE
  115.          do 
  116.            case $FILE in
  117.              [Nn])
  118.                break
  119.               ;;
  120.              [Yy])
  121.                  if [ $FILE = "q" ]
  122.                    then
  123.                      break
  124.                  else
  125.                    /usr/local/bin/elm
  126.                    break
  127.                  fi
  128.               ;;
  129.            esac
  130.          done
  131.      ;;
  132.      2) 
  133.         kill -9 $TIMEPID
  134.        /usr/bin/echo -n "Read News? 
  135. Please answer ${BOLD} Y ${OFF}es or ${BOLD} N ${OFF}o...
  136.        - > "
  137.        $BELL
  138.        while read FILE
  139.          do 
  140.            case $FILE in
  141.              [Nn])
  142.                break
  143.               ;;
  144.              [Yy])
  145.                  if [ $FILE = "q" ]
  146.                    then
  147.                      break
  148.                  else
  149.                    clear
  150.                    /usr/local/bin/rn
  151.                    break
  152.                  fi
  153.               ;;
  154.            esac
  155.          done
  156.      ;;
  157.  
  158. # Draw Sub-menu menu screen #
  159.  
  160.      3) 
  161.         kill -9 $TIMEPID
  162.        clear
  163.        while true
  164.        do
  165.          clear
  166.          date '+DATE: %m/%d/%y'
  167.          /usr/bin/echo "                            FILE MANAGEMENT SYSTEM" 
  168.          /usr/bin/echo
  169.          /usr/bin/echo -n $FNAME", Type:
  170.             ${BOLD} 1 ${OFF} to view a file (more)
  171.                 
  172.             ${BOLD} 2 ${OFF} to edit a file (vi)
  173.  
  174.             ${BOLD} 3 ${OFF} to print a file (lpr)
  175.  
  176.             ${BOLD} 4 ${OFF} to copy a file (cp)
  177.                 
  178.             ${BOLD} 5 ${OFF} to rename a file (mv)
  179.  
  180.             ${BOLD} 6 ${OFF} to delete a file (rm)
  181.  
  182.             ${BOLD} 7 ${OFF} to list a directory (ls)
  183.  
  184.             ${BOLD} 8 ${OFF} to change directories (cd)
  185.  
  186.             ${BOLD} q ${OFF} to quit to main menu
  187.  
  188.             - > [    ]"
  189.  
  190.             eval $TIME2
  191.                TIMEPID=$!
  192.  
  193. # If named option is given redefine it to a numarical value #
  194.  
  195.         read ANS FILE
  196.             case $ANS in
  197.                 more)
  198.                        ANS="1"
  199.                 ;;
  200.                 vi)
  201.                     ANS="2"
  202.                 ;;
  203.                 lpr)
  204.                     ANS="3"
  205.                 ;;
  206.                 cp)
  207.                     ANS="4"
  208.                 ;;
  209.                 mv)
  210.                     ANS="5"
  211.                 ;;
  212.                 rm)
  213.                     ANS="6"
  214.                 ;;
  215.                 ls)
  216.                     ANS="7"
  217.                 ;;
  218.                 cd)
  219.                     ANS="8"
  220.                 ;;
  221.                 q)
  222.                     ANS="q"
  223.                 ;;
  224.             esac
  225.  
  226. # Sub-menu selections for file manipulation #
  227.  
  228.         case $ANS in
  229.           1)
  230.             kill -9 $TIMEPID
  231.             /usr/bin/echo -n  "view what file?
  232.             - > "
  233.             $BELL
  234.             while read FILE
  235.             do
  236.               if [ -z "$FILE" ]
  237.                 then
  238.                 clear
  239.                 ls -f
  240.                 /usr/bin/echo -n $INVALID
  241.                 $BELL
  242.               else
  243.                 if [ $FILE = "q" ]
  244.                   then
  245.                   break
  246.                 else
  247.                   if [ -s $FILE ]
  248.                     then
  249.                     more $FILE
  250.                     /usr/bin/echo -n $INVALID
  251.                   fi
  252.                 fi
  253.               fi
  254.             done
  255.             clear
  256.           ;;
  257.           2) 
  258.             kill -9 $TIMEPID
  259.             /usr/bin/echo -n "vi what file?
  260.           - > "
  261.             $BELL -p
  262.             while read FILE
  263.             do
  264.               if [ -z "$FILE" ]
  265.                 then
  266.                 clear
  267.                 ls -f
  268.                 /usr/bin/echo -n $INVALID
  269.                 $BELL
  270.               else
  271.                 if [ $FILE = "q" ]
  272.                   then
  273.                   break
  274.                 else
  275.                   if [ -s "$FILE" ]
  276.                     then
  277.                     vi $FILE
  278.                     /usr/bin/echo -n $INVALID
  279.                   fi
  280.                 fi
  281.               fi
  282.             done
  283.           ;;
  284.           3)
  285.             kill -9 $TIMEPID
  286.             /usr/bin/echo -n "print what file?
  287.              - > "
  288.             $BELL -p
  289.             while read FILE
  290.             do
  291.               if [ -z "$FILE" ]
  292.                 then
  293.                 clear
  294.                 ls -f
  295.                 /usr/bin/echo -n $INVALID
  296.                 $BELL
  297.               else
  298.                 if [ $FILE = "q" ]
  299.                   then
  300.                   break
  301.                 else
  302.                   if [ -s "$FILE" ]
  303.                     then
  304.                     lpr -P$PRINTER $FILE
  305.                     /usr/bin/echo "File has been printed to your default
  306. printer"
  307.                     /usr/bin/echo -n $INVALID
  308.                   fi
  309.                 fi
  310.               fi
  311.             done
  312.           ;;
  313.           4)
  314.             kill -9 $TIMEPID
  315.             /usr/bin/echo -n "copy what file?
  316.             - > " 
  317.             $BELL -p
  318.             while read FILE
  319.             do
  320.               if [ -z "$FILE" ]
  321.                 then
  322.                 clear
  323.                 ls -f
  324.                 /usr/bin/echo -n $INVALID
  325.                 $BELL
  326.               else
  327.                 if [ $FILE = "q" ]
  328.                   then
  329.                   break
  330.                 else
  331.                   if [ -s "$FILE" ]
  332.                     then
  333.                     /usr/bin/echo -n "Enter the new file name: "
  334.                     read ANS
  335.                     cp $FILE $ANS
  336.                     /usr/bin/echo -n $INVALID
  337.                   fi
  338.                 fi
  339.               fi
  340.             done
  341.           ;;
  342.           5)
  343.             kill -9 $TIMEPID
  344.             /usr/bin/echo -n "rename what file?
  345.               - > "
  346.             $BELL -p
  347.             while read FILE
  348.             do
  349.               if [ -z "$FILE" ]
  350.                 then
  351.                 clear
  352.                 ls -f
  353.                 /usr/bin/echo -n $INVALID
  354.                 $BELL
  355.               else
  356.                 if [ $FILE = "q" ]
  357.                   then
  358.                   break
  359.                 else
  360.                   if [ -s "$FILE" ]
  361.                     then
  362.                     /usr/bin/echo -n "Enter the new file name: "
  363.                     read ANS
  364.                     mv $FILE $ANS
  365.                     /usr/bin/echo -n $INVALID
  366.                   fi
  367.                 fi
  368.               fi
  369.             done
  370.           ;;
  371.           6)
  372.             kill -9 $TIMEPID
  373.             /usr/bin/echo -n "delete what file?
  374.               - > "
  375.             $BELL -p
  376.             while read FILE
  377.             do
  378.               if [ -z "$FILE" ]
  379.                 then
  380.                 clear
  381.                 ls -f
  382.                 /usr/bin/echo -n $INVALID
  383.                 $BELL
  384.               else
  385.                 if [ $FILE = "q" ]
  386.                   then
  387.                   break
  388.                 else
  389.                   if [ -s "$FILE" ]
  390.                     then
  391.                     rm $FILE 
  392.                     /usr/bin/echo -n $INVALID
  393.                   fi
  394.                 fi
  395.               fi
  396.             done
  397.           ;;
  398.           7)
  399.             kill -9 $TIMEPID
  400.             clear
  401.             ls -Ff
  402.             echo "Current directory is "$PWD
  403.             echo
  404.             /usr/bin/echo -n $INFO
  405.             read ANS
  406.             $BELL
  407.           ;;
  408.           8) 
  409.             kill -9 $TIMEPID
  410.             /usr/bin/echo -n "cd to what directory? 
  411.                   - > "
  412.             $BELL
  413.             while read FILE
  414.             do 
  415.               if [ -z "$FILE" ]
  416.                 then
  417.                 clear
  418.                 ls -Ff
  419.                 echo "Current directory is "$PWD
  420.                 /usr/bin/echo -n $INVALID
  421.                 $BELL
  422.               else
  423.                 if [ $FILE = "q" ]
  424.                   then
  425.                   break
  426.                 else
  427.                   if [ -d "$FILE" ]
  428.                     then
  429.                     cd $FILE
  430.                     echo "Current directory is "$PWD
  431.                     echo
  432.                     /usr/bin/echo -n $INVALID
  433.                   fi
  434.                 fi
  435.               fi
  436.             done
  437.           ;;
  438.          [qQ]) 
  439.             kill -9 $TIMEPID
  440.               break
  441.           ;;
  442.          *)    
  443.             kill -9 $TIMEPID
  444.           ;;
  445.         esac
  446.       done
  447.      ;;
  448.     4) 
  449.         kill -9 $TIMEPID
  450.         /usr/local/bin/tsheet
  451.            echo $INFO
  452.     ;;
  453.     5)
  454.         kill -9 $TIMEPID
  455.         /usr/games/fortune
  456.            echo $INFO
  457.         read ANS
  458.     ;;
  459.     6)
  460.         kill -9 $TIMEPID
  461.         echo "Type 'exit' when you want to leave the UNIX-SHELL"
  462.         echo "Hit <RETURN>..."
  463.         read ANS
  464.         clear
  465.         /bin/csh -i
  466.     ;;
  467.     [qQ]) 
  468.         kill -9 $TIMEPID
  469.                 break
  470.      ;;
  471.      *) /usr/bin/echo Sorry that name is not recognized
  472.          /usr/bin/echo $INFO
  473.          /usr/bin/echo WHOOPS
  474.          read ANS
  475.         kill -9 $TIMEPID
  476.      ;;
  477.    esac
  478.    done
  479.    /usr/bin/echo "See Ya" $FNAME", It has been fun!"
  480. exit
  481.  
  482. ++++++++++++CUT HERE and name it easy.time ++++++++++++++++++++++++++++++++++
  483. for ARG in $*
  484. do case $ARG in
  485.     -1) CURLOC='tput cup 19 29'
  486.     ;;
  487.     -2) CURLOC='tput cup 22 29'
  488.     ;;
  489.     esac
  490. done
  491. TIMELOC='tput cup 0 63'
  492. HOUR=`date '+%H'`
  493. MIN=`date '+%M'`
  494. SEC=`date '+%S'`
  495. while [ $HOUR -lt 24 ]
  496. do
  497.     while [ $MIN -lt 60 ]
  498.     do
  499.         while [ $SEC -lt 60 ]
  500.         do 
  501.             $TIMELOC
  502.             echo -n "Time: $HOUR:$MIN:$SEC   "   
  503.             $CURLOC
  504.             sleep 5
  505.             SEC=`expr $SEC + 5`
  506.         done
  507.         SEC=0
  508.         MIN=`expr $MIN + 1`
  509.     done
  510.     MIN=0
  511.     HOUR=`expr $HOUR + 1`
  512. done
  513. echo
  514.  
  515. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  516. ~ uunet!iex!neptune!danny   ~  IEX CORPORATION-      ~
  517. ~ Whats in a sig. anyway?   ~  1400 Preston rd. #350 ~
  518. ~                           ~  Plano, TX. 75093      ~
  519. ~i'd rather be water skiing ~  (214) 612-2600        ~
  520. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  521.