Special shell variables There are some variables which are set internally by the shell and which are available to the user:
Name | Description | |
$1 - $9 | these variables are the positional parameters. | |
$0 | the name of the command currently being executed. | |
$# | the number of positional arguments given to this invocation of the shell. | |
$? | the exit status of the last command executed is given as a decimal string. When a command impletes successfully, it returns the exit status of 0 (zero), otherwise it returns a non-zero exit status | |
$$ | the process number of this shell - useful for including in filenames, to make them unique. | |
$! | the process id of the last command run in the background. | |
$- | the current options supplied to this invocation of the shell. | |
$* | a string containing all the arguments to the shell, starting at $1. | |
$@ | same as above, except when quoted. |
Tips ::
$* and $@ when unquoted are identical and expand into the arguments.
"$*" is a single word, comprising all the arguments to the shell, joined together with spaces. For example '1 2' 3 becomes "1 2 3".
"$@" is identical to the arguments received by the shell, the resulting list of words completely match what was given to the shell. For example '1 2' 3 becomes "1 2" "3"..
No comments :
Post a Comment