linux中shell变量$#,$@,$*,$?,$$,$!,$_,$0,$1,$2的含义解释

变量说明: 
   $$ 
   Shell本身的PID(ProcessID) 
   $! 
   Shell最后运行的后台Process的PID 
   $? 
   最后运行的命令的结束代码(返回值) 
   $- 
   使用Set命令设定的Flag一览 
   $* 
   所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 
   $@ 
   所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 
   $# 
   添加到Shell的参数个数 
   $0 
   Shell本身的文件名 
   $1~$n 
   添加到Shell的各参数值。$1是第1参数、$2是第2参数…。 
   示例:
   1 #!/bin/bash
    2 #
    3 printf"The complete list is %s ""$$"
    4 printf"The complete list is %s ""$!"
    5 printf"The complete list is %s ""$?"
    6 printf"The complete list is %s ""$*"
    7 printf"The complete list is %s ""$@"
    8 printf"The complete list is %s ""$#"
    9 printf"The complete list is %s ""$0"
   10 printf "The complete list is %s " "$1"
   11 printf "The complete list is %s " "$2
   结果:
   [Aric@localhost ~]$ bashparams.sh 123456 QQ
   The complete listis24249
   The complete listis 
   The complete listis0
   The complete listis123456 QQ
   The complete listis123456
   The complete listisQQ
   The complete listis2
   The complete listisparams.sh
   The complete listis123456
   The complete listisQQ
   Have a nice day!!!

原文地址:https://www.cnblogs.com/jackluo/p/3234246.html