特殊的shell变量:

特殊的shell变量:



$0  获取当前执行的shell脚本的文件名



$n  获取当前执行的shell脚本的第n个参数值,n=1..9



$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别



$#  获取当前shell命令行中参数的总个数



$$  获取当前shell的进程号(PID)



$!  执行上一个指令的PID



$?  获取执行的上一个指令的返回值(0 为成功, 非零为失败)



$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”



举例(通过脚本举例,大家也可以一行行执行测试):



[ryan@etiantian test]# cat etiantian.sh



echo ‘$0  获取当前执行的shell脚本的文件名:’$0



echo ‘$n  获取当前执行的shell脚本的第n个参数值,n=1..9:’ ‘$1′=$1 ‘$2′=$2 “\$3=$3″



echo ‘$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别:’$*



echo ‘$#  获取当前shell命令行中参数的总个数:’$#



echo ‘$$  获取当前shell的进程号(PID):’$$



sleep 2 &



echo ‘$!  执行上一个指令的PID :’$!



echo ‘$?  获取执行的上一个指令的返回值:’$?



echo ‘$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”:’$@



脚本执行结果(大家仔细看):



[ryan@etiantian test]# sh etiantian.sh 参数1 参数2 参数3



$0  获取当前执行的shell脚本的文件名: etiantian.sh



$n  获取当前执行的shell脚本的第n个参数值,n=1..9: $1=参数1 $2=参数2 $3=参数3



$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别: 参数1 参数2 参数3



$#  获取当前shell命令行中参数的总个数: 3



$$  获取当前shell的进程号(PID): 2062



$!  执行上一个指令的PID : 2063



$?  获取执行的上一个指令的返回值: 0



$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”: 参数1 参数2 参数3



[ryan@etiantian test]# sh etiantian.sh ryan jeacen david



$0  获取当前执行的shell脚本的文件名: etiantian.sh



$n  获取当前执行的shell脚本的第n个参数值,n=1..9: $1=ryan $2=jeacen $3=david



$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别: ryan jeacen david



$#  获取当前shell命令行中参数的总个数: 3



$$  获取当前shell的进程号(PID): 2160



$!  执行上一个指令的PID : 2161



$?  获取执行的上一个指令的返回值: 0



$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”: ryan jeacen david

 

你可能感兴趣的:(shell)