home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / cmds / root.3 / usr / bin / calendar / calendar~
Text File  |  1998-08-19  |  2KB  |  55 lines

  1. #!/sbin/sh
  2.  
  3. # Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  4. #                                                                         
  5. #        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  6. #                   SANTA CRUZ OPERATION INC.                             
  7. #                                                                         
  8. #   The copyright notice above does not evidence any actual or intended   
  9. #   publication of such source code.                                      
  10.  
  11. #    Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  12. #      All Rights Reserved
  13.  
  14. #    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T
  15. #    The copyright notice above does not evidence any
  16. #    actual or intended publication of such source code.
  17.  
  18. #ident    "@(#)calendar:calendar.sh    1.8.3.4"
  19. #    calendar.sh - calendar command, uses /usr/lib/calprog
  20.  
  21. PATH=/usr/bin
  22. _tmp=/tmp/cal$$
  23. pwd_tmp=/tmp/pwd$$
  24. trap "rm -f ${_tmp} ${pwd_tmp} /tmp/calendar.$$; trap '' 0; exit" 0 1 2 13 15
  25. /usr/lib/calprog > ${_tmp}
  26. /usr/bin/cat /etc/passwd | sed 's/\([^:]*\):.*:\(.*\):[^:]*$/_dir=\2 _user=\1/' > ${pwd_tmp}
  27. if [ -f /usr/bin/ypcat ]; then
  28.    /usr/bin/ypwhich >/dev/null 2>&1
  29.    if [ $? -eq 0 ]; then    
  30.     /usr/bin/ypcat -t passwd.byname | sed 's/\([^:]*\):.*:\(.*\):[^:]*$/_dir=\2 _user=\1/' >> ${pwd_tmp}
  31.    fi
  32. fi
  33. /usr/bin/sort -d -u -o ${pwd_tmp} ${pwd_tmp}
  34. case $# in
  35. 0)    if [ -f calendar ]; then
  36.         egrep -f ${_tmp} calendar
  37.     else
  38. #        echo $0: `pwd`/calendar not found
  39.         pfmt -l "UX:calendar" -s error -g uxue:318 "%s/calendar not found\n" `pwd`
  40.     fi;;
  41. *)    cat ${pwd_tmp} | \
  42.         sed 's/\([^:]*\):.*:\(.*\):[^:]*$/_dir=\2 _user=\1/' | \
  43.         while read _token; do
  44.             eval ${_token}    # evaluates _dir= and _user=
  45.             if [ -s ${_dir}/calendar ]; then
  46.                 egrep -f ${_tmp} ${_dir}/calendar 2>/dev/null \
  47.                     > /tmp/calendar.$$
  48.                 if [ -s /tmp/calendar.$$ ]; then
  49.                     mail ${_user} < /tmp/calendar.$$
  50.                 fi
  51.             fi
  52.         done;;
  53. esac
  54. exit 0
  55.