mirror of https://github.com/tLDP/LDP
51 lines
1.0 KiB
Bash
51 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# arglist.sh
|
|
# Invoke this script with several arguments, such as "one two three".
|
|
|
|
E_BADARGS=65
|
|
|
|
if [ ! -n "$1" ]
|
|
then
|
|
echo "Usage: `basename $0` argument1 argument2 etc."
|
|
exit $E_BADARGS
|
|
fi
|
|
|
|
echo
|
|
|
|
index=1 # Initialize count.
|
|
|
|
echo "Listing args with \"\$*\":"
|
|
for arg in "$*" # Doesn't work properly if "$*" isn't quoted.
|
|
do
|
|
echo "Arg #$index = $arg"
|
|
let "index+=1"
|
|
done # $* sees all arguments as single word.
|
|
echo "Entire arg list seen as single word."
|
|
|
|
echo
|
|
|
|
index=1 # Reset count.
|
|
# What happens if you forget to do this?
|
|
|
|
echo "Listing args with \"\$@\":"
|
|
for arg in "$@"
|
|
do
|
|
echo "Arg #$index = $arg"
|
|
let "index+=1"
|
|
done # $@ sees arguments as separate words.
|
|
echo "Arg list seen as separate words."
|
|
|
|
echo
|
|
|
|
index=1 # Reset count.
|
|
|
|
echo "Listing args with \$* (unquoted):"
|
|
for arg in $*
|
|
do
|
|
echo "Arg #$index = $arg"
|
|
let "index+=1"
|
|
done # Unquoted $* sees arguments as separate words.
|
|
echo "Arg list seen as separate words."
|
|
|
|
exit 0
|