Hi.
Some shells allow access to script parameters using syntax as follows:
Code:
#!/bin/bash -
# @(#) s1 Demonstrate shell script parameter use.
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version =o $(_eat $0 $1)
echo
echo " Parameters beyond 9 explicit:"
echo " Parameter 10 is ${10}"
echo " Parameter 11 is ${11}"
echo
echo " Parameters with delayed evaluation using \"eval\":"
for ((j=1;j<=$#;j++))
do
eval echo " Parameter $j is \${$j}"
done
exit 0
Producing:
Code:
% ./s1 a b c d e f g h i j k
(Versions displayed with local utility "version")
Linux 2.6.11-x1
GNU bash 2.05b.0
Parameters beyond 9 explicit:
Parameter 10 is j
Parameter 11 is k
Parameters with delayed evaluation using "eval":
Parameter 1 is a
Parameter 2 is b
Parameter 3 is c
Parameter 4 is d
Parameter 5 is e
Parameter 6 is f
Parameter 7 is g
Parameter 8 is h
Parameter 9 is i
Parameter 10 is j
Parameter 11 is k
However, I think
shift is usually the most useful construct ... cheers, drl