The meaning of several variables in a common shell with a $ symbol:
Difference:@ *
- Same point: All parameters are referenced
- Different points: only in double quotes. Suppose that three parameters were written when the script was run (stored in123) "*" is equivalent to "123"(Mass transferHanded a parameter number ) < /span> 1 " ; " " > 1 "&NBSP; " 2 " " (three parameters passed)
Variable Description:
$$
The PID of the shell itself (ProcessID)
$!
PID of the Shell's last running background process
$?
End code of the last Run command (return value)
$-
Flag at a glance using the SET command
$*
All parameter lists. such as "$*" in the Case of "" ", in the form of" $ $ ... $n "output all parameters.
[Email protected]
All parameter lists. such as "[email protected]" with "" "in the case, with" $ "" $ "... All parameters are output in the form "$n".
$#
Number of arguments added to the shell
The file name of the shell itself
$1~ $n
Each parameter value added to the shell. $ $ is the 1th parameter, and the $ = is the 2nd parameter ....
Example:
1 #!/bin/bash
2 #
3 printf
"The complete list is %s\n"
"$$"
4 printf
"The complete list is %s\n"
"$!"
5 printf
"The complete list is %s\n"
"$?"
6 printf
"The complete list is %s\n"
"$*"
7 printf
"The complete list is %s\n"
"[email protected]"
8 printf
"The complete list is %s\n"
"$#"
9 printf
"The complete list is %s\n"
"$0"
10 printf
"The complete list is %s\n"
"$1"
11 printf
"The complete list is %s\n"
"$2
Results:
$ bash test
.sh 123456 QQ
The complete list
is
22216
The complete list
is
The complete list
is
0
The complete list
is
123456 QQ
The complete list
is
123456
The complete list
is
QQ
The complete list
is
2
The complete list
is
params
.sh
The complete list
is
123456
The complete list
is
QQ
Linux shell variable $#,[email protected], $0,$1,$2 meaning explanation