Você está na página 1de 1

To customize the behaviour of a script at run time, you can give it any number o

f arguments on the command line.


The shell expands wildcards and makes variable and command substitutions as norm
al, then parses the resulting words by whitespace
(actually special variable $IFS), and places the resulting text strings into the
positional variables as follows:
$0, $1, $2, ... $9
The first 9 arguments are made available directly as $1-$9. To access more than
9, use shift, or $*, $@. The variable $0 contains the name of the script itself.

${10}, ${11}, ...
Positional arguments greater than 9 are set by ksh and bash. Remember to use bra
ces to refer to them.
shift
discard $1 and renumber all the other variables. "shift N" will shift N argument
s at once.
$#
contains the number of arguments that were set (not including $0).
$*
contains all of the arguments in a single string, with one space separating them
.
$@
similar to $*, but if used in quotes, it effectively quotes each argument and ke
eps them separate.
If any argument contains whitespace, the distinction is important.
e.g. if the argument list is: a1 a2 "a3 which contains spaces" a4
then: $1=a1, $2=a2, $3=a3 which contains spaces, $4=a4
and: $*=a1 a2 a3 which contains spaces a4
and: "$@"="a1" "a2" "a3 which contains spaces" "a4"
Only using the form "$@" preserves quoted arguments. If the arguments are being
passed from the script directly to some other program,
it may make a big difference to the meaning.
Example: ex7 display, text
Setting new positional arguments
The set command, followed by a set of arguments, creates a new set of positional
arguments. This is often used, assuming the original arguments
are no longer needed, to parse a set of words (possibly using different field se
parators). Arguments may be reset any number of times.
Example: ex2 display, text
Example: pickrandom display, text
Selects a random file from a directory. Uses the ksh RANDOM feature.

Você também pode gostar