Date: Wed, 30 Apr 1997 18:08:15 -0700 (PDT) From: Chris Coleman <chris@bb.cc.wa.us> To: Kevin Eliuk <kevin_eliuk@sunshine.net> Cc: hackers@freebsd.org, Annelise Anderson <andrsn@andrsn.stanford.edu> Subject: Re: Re: "learn" unix tool Message-ID: <Pine.NEB.3.94.970430180430.1875B-100000@aries.bb.cc.wa.us> In-Reply-To: <Pine.BSF.3.95q.970430104726.168A-100000@kevin.sunshine.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Ok, i have written a little 'help' script in perl. It probably needs work, but I just hacked it out overnight. I am posting it here for public approval prior to asking for it to be committed. I designed it to be one screenful of information that every new user needs to know. (IMHO) Anyway, take a look at it and tell me what you think. <CUT> #!/usr/bin/perl ########################## Variables ################################# sub get_variables{ #($name,$passwd,$uid,$gid,$quota,$comment,$gcos,$dir,$shell) = getpwent; $name = getlogin || (getpwuid($<))[0]; ($hostname)=split(//,getnetent,1); chop($hosttype = `uname`); chop($version = `uname -r`); $email="$name\@$hostname"; $name =~ /(^[a-z])(.*)/; $firstletter=$1; $firstletter =~ tr/[a-z]/[A-Z]/; $name= "$firstletter$2"; $shell = $ENV{'SHELL'}; $term = $ENV{'TERM'}||"dialup"; $home = $ENV{'HOME'}||"You are Homeless"; $pwd = $ENV{'PWD'}||"Lost on the System"; $remotehost = $ENV{'REMOTEHOST'}||"Somewhere"; } ########################## Main Functions ################################# do get_variables(); do play_greeting(); do pwd_check(); do shell_check(); do commands(); do found_commands(); do show_help(); ########################## Greeting Subs ################################# sub play_greeting{ system(clear); print " $name, Welcome to $hosttype $version on $hostname!\n\n"; print "Your email address is: \"$email\".\n"; print "Command Shell: \"$shell\"\n"; } ########################## Commands Subs ################################# sub commands{ print"\nSome Useful Commands: 'w' Displays what people are doing. 'who' Shows Who is on-line. 'finger <login>' Find information on someone. 'ls' List files and directories. 'cd <directory>' Change to \"directory\". 'cd ~' Change back to home directory. 'more <filename>' Display the contents of \"filename\". 'passwd' Change your password. \n"; } ########################## Command Finding Subs ################################ sub found_commands{ #Check for easiest e-mail program, if (-e "/usr/local/bin/pine"){ print"'pine' Access your e-mail.\n" } elsif( -e "/usr/local/bin/elm"){ print"'elm' Edit Text Documents.\n" } elsif( -e "/usr/local/bin/mutt"){ print"'mutt' Edit Text Documents.\n" } elsif( -e "/usr/local/bin/mh"){ print"'mh' Edit Text Documents.\n" } elsif( -e "/bin/mail"){ print"'You Only have 'mail' installed, get your system manager to install 'pine'.\n" } #Check for easiest text editor if (-e "/usr/local/bin/pico"){ print"'pico <filename>' Edit Text Documents.\n" } elsif( -e "/usr/local/bin/emacs <filename>"){ print"'emacs <filename>'Edit Text Documents.\n" } elsif( -e "/bin/vi"){ print"'vi <filename>' Edit Text Documents.\n" } if (-e "/usr/local/bin/ytalk"){ print"'ytalk <login>' Talk to a person.\n" } elsif( -e "/usr/bin/talk <filename>"){ print"'talk <login>' Talk to a person.\n" } } ########################## shell checking Subs ################################# sub shell_check{ #check and give shell information if($term eq "dialup"){ print "Your terminal type is set to \"dialup\", you might need to change it by typing 'set term = vt100'\n"; } print"Terminal Type: \"$term\""; print" You are at a Server Terminal.\n" if $term eq "cons25"; print" Remote Connection from: $remotehost.\n" if $term eq "vt100"; print" You are dialed in.\n" if $term eq "dialup"; } ########################## shell checking Subs ################################# sub pwd_check{ #check and give Present working Directory information print"Current Directory: \"$pwd\"\n"; if ($pwd eq $home){ print " You are in your home directory.\n"; } else { print "Home Directory: \"$home\".\n"; } } ########################## shell checking Subs ################################# sub show_help{ print"Ways to Get Help: 'man <command>' Give more info on \"Command\"."; print" 'learn' Learn about Unix\n" if -e "/usr/bin/learn"; print" 'info' Info about Unix\n" if -e "/usr/bin/info"; } ########################################################################### </CUT> Christopher J. Coleman (chris@aries.bb.cc.wa.us) Computer Support Technician I (509)-766-8873 Big Bend Community College Internet Instructor FreeBSD Book Project: http://vinyl.quickweb.com/~chrisc/book.html Disclaimer: Even Though it has My Name on it, Doesn't mean I said it.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.94.970430180430.1875B-100000>