Excerpt from: Abs_guide
: http://www.tldp.org/LDP/abs/abs-guide.pdf
 
 
  
   
   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" "$0"10 printf "The complete list is %s\n" "$1"11 printf "The complete list is %s\n" "$2 |  
  
 
  
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
Linux shell variable $#,[email protected], $0,$1,$2 meaning explanation