#!/bin/sh -u # Display on standard error the individual arguments on the command line. # ------------------------------------------------------------------ # Syntax: # $0 [args...] # ------------------------------------------------------------------ # Purpose: Count and display each argument to this shell script. # It also displays the command name, which is often referred to as # "Argument Zero" ($0) but is never counted as a command argument. # All output appears on "standard error", not "standard output". # ------------------------------------------------------------------ # Student Name: Ian! D. Allen (Actual Instructor) # Algonquin EMail Address: alleni # Student Number: 000-000-000 # Course Number: XXX 0000 # Lab Section Number: 099 # Professor Name: Dennis Ritchie & Brian Kernighan # Assignment Name/Number/Date: Exercise 123, due February 13, 2012 # Comment: This is a sample assignment label. # ------------------------------------------------------------------ # -Ian! D. Allen - idallen@idallen.ca - www.idallen.com # Set the search path for the shell to be the standard places. # Set the character collating sequence to be numeric ASCII/C standard. # Set the language and character set to be ASCII/C standard. # Set the umask to be non-restrictive and friendly to others. # PATH=/bin:/usr/bin ; export PATH LC_COLLATE=C ; export LC_COLLATE LANG=C ; export LANG umask 022 # The $0 variable contains the name of this script, sometimes called # "argument zero". It is not an argument to the script itself. # The $# variable contains a count of the number of command line arguments. # The script name is not counted as an "argument" to the script; # only arguments 1 and up are counted as arguments to the script. # The syntax "1>&2" means "on this line, send what would normally appear # on stdout to stderr" - the output of the line goes to stderr. # echo 1>&2 "$0: This script has $# command line arguments." echo 1>&2 "Argument 0 is [$0]" # Now display all of the command line arguments (if any). # These are the real command line arguments to this script. # count=0 for arg do count=` expr $count + 1 ` # use back-quoted expr to do the arithmetic echo 1>&2 "Argument $count is [$arg]" done exit 0 # zero is a good/success return status for a command