#!/bin/bash # Call this script with at least 10 parameters, for example # ./scriptname 1 2 3 4 5 6 7 8 9 10 MINPARAMS=10 echo echo "The name of this script is \"$0\"." # Adds ./ for current directory echo "The name of this script is \"`basename $0`\"." # Strips out path name info (see 'basename') echo if [ -n "$1" ] # Tested variable is quoted. then echo "Parameter #1 is $1" # Need quotes to escape # fi if [ -n "$2" ] then echo "Parameter #2 is $2" fi if [ -n "$3" ] then echo "Parameter #3 is $3" fi # ... if [ -n "${10}" ] # Parameters > $9 must be enclosed in {brackets}. then echo "Parameter #10 is ${10}" fi echo "-----------------------------------" echo "All the $# command-line parameters are: "$*"" if [ $# -lt "$MINPARAMS" ] then echo echo "This script needs at least $MINPARAMS command-line arguments!" fi echo test="pwd" echo $test echo "$test" echo `$test` echo `pwd` exit 0
运行:
./ex17.sh pwd 2 3 4 5 6 7 8 9 15
结果:
The name of this script is "./ex17.sh".
The name of this script is "ex17.sh".
Parameter #1 is pwd
Parameter #2 is 2
Parameter #3 is 3
Parameter #10 is 15
-----------------------------------
All the 10 command-line parameters are: pwd 2 3 4 5 6 7 8 9 15
pwd
pwd
/home/shell
/home/shell