Tuesday, May 03, 2005
Shell Programming
$0 | The name the script was invoked with. This may be a basename without directory component, or a path name. This variable is not changed with subsequent shiftcommands. |
$1, $2, $3, ... | The first, second, third, ... command line argument, respectively. The argument may contain whitespace if the argument was quoted, i.e. "two words". |
$# | Number of command line arguments, not counting the invocation name $0 |
$@ | "$@" is replaced with all command linearguments, enclosed in quotes, i.e. "one", "two three", "four". Whitespace within an argument is preserved. |
$* | $* is replaced with all command linearguments. Whitespace is not preserved, i.e. "one", "two three", "four" would be changed to "one", "two", "three", "four". This variable is not used very often, "$@"is the normal case, because it leaves the arguments unchanged. |