Need help with this script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need help with this script
# 1  
Old 03-31-2011
Need help with this script

I have written a script to allow me to search for a class code, and student id prefix, which will then display the current students with that prefix, and how many of those that are logged in. Now I want to add an error message when the user fails to enter two arguments (class code and student prefix). In this message I want to display what the error was and the proper syntax. How do I add the error message?

Code:
##### Header ####
echo
echo $1 Students
echo
 
##### Column Names #####
echo "User ID     Name"
 
##### Search for the student prefix in /etc/passwd, create temp file #####
grep $2 /etc/passwd | cut -d: -f1,5 | sort -t: +1 | sed 's/^\(.*\):\(.*\), \(.*\)$/\1     \3 \2/' > temp
 
#### Display temp file ####
cat temp
echo
 
#### Display number of students in $1 class ####
echo Number of $1 students: `cat temp | wc -l`
echo
 
#### Display list of user names currently    ####
#### logged in that match the student prefix ####
echo $1 Students currently logged in
echo
who | grep $2 | cut -c1-7
echo
 
#### Display how many users currently logged ####
#### in that match the student prefix given  ####
echo There are currently `who | grep $2 | wc -l` $1 students logged in.
 
#### Delete temp file ####
rm temp


Last edited by MadMurdock0311; 03-31-2011 at 05:03 PM..
# 2  
Old 03-31-2011
Code:
[[ $# -ne 2 ]] && echo "Need 2 arguments: `basename $0` <classCode> <studentPrefix>  && exit 1

$# stores number of arguments to the script.
You can also spit out the error message to stderr rather than stdout doing
Code:
 echo "Error" >&2

This User Gave Thanks to mirni For This Post:
# 3  
Old 04-01-2011
Great! Thank you for the help. I will try to implement this soon.
Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

2. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

5. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
Login or Register to Ask a Question