linux中$0 $1 $? $#等代表的含义

$# :传给脚本的参数个数;
$0 :脚本名称;
$n :n为数字,代表传给脚本的第n个参数;
$@ :参数列表;
$*  :也是显示参数列表,与上一条命令不同的是,当在双引号里面时,”$*”表示一个参数,即”a b c”,而”$@”表示三个参数,即”a” “b” “c”;
$$ :执行当前脚本的进程ID;
$? :最后一条命令的退出状态,0表示执行成功,非0表示执行失败.

示例: 建立一个脚本test.sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "third :$3"
echo "fourth:$4"
echo "argume:$@"
echo "show parm list:$*"
echo "show process id:$$"
echo "show precomm stat: $?"

  执行脚本,传入参数a b c:

[root@test test]# sh test.sh a b c d
number:4
scname:test.sh
first :a
second:b
third :c
fourth:d
argume:a b c d
show parm list:a b c d
show process id:2568
show precomm stat: 0

  

原文地址:https://www.cnblogs.com/zhugq02/p/13234404.html