shell 特殊变量详解
$0 获取当前执行脚本的名称,包括路径
[root@centos test]# cat test.sh
echo $0
[root@VM_102_244_centos test]# bash test.sh
test.sh
#包括路径
[root@VM_102_244_centos ~]# bash ~/test/test.sh
/root/test/test.sh
$n 获取当前执行的shell脚本的第N个参数,n=1..9,当n为0时表示脚本的文件名,如果n大于9,用大括号括起来 $
[root@VM_102_244_centos test]# cat test.sh
echo $1 $3 ${10}
[root@VM_102_244_centos test]# bash test.sh a b c d e f g h e i g k
a c i
$#:传递到脚本的参数数量;
$*和$@:传递到脚本的所有参数;
$?:推出状态;0表示无错误;1表示有错误;
$$:脚本运行的进程号,即当前shell的进程号;