Original URL: http://www.cnblogs.com/fhefh/archive/2011/04/15/2017613.html
The meaning of shell variable $#,[email protected],$0,$1,$2 in Linux is explained:
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 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" "$ A"
printf "The complete list is%s\n" "$"
printf "The complete list is%s\n" "$
Results:
[[email protected] ~]$ bash params.sh 123456 QQ
The complete list is 24249
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
Has a nice day!!!
Add:
[Email protected] the difference from $*
(1)
#!/bin/sh
#test. Sh
For i in [email protected] #for I in $*
Do
Echo $i
Done
Test: test.sh 1 2 3
As a result, both outputs:
1
2
3
(2)
For i in "[E-mail protected]" #for i in "$*"
Do
Echo $i
Done
Test: test.sh 1 2 3
First output:
1
2
3
Second output: 1 2 3
"Go" linux shell variable $#,[email protected], $0,$1,$2 meaning explanation