特殊位置参数变量

特殊位置参数变量
特殊位置参数变量
$0 获取当前执行的shell脚本的文件名,如果执行脚本包含了路径,那么就包括脚本路径。
$n 获取当前执行的shell脚本的第n个参数值,n=1..9,当n为0时表示脚本的文件名;如果n大于9,则用大括号括起来,例如${10},接的参数以空格隔开。
$# 获取当前执行的shell脚本后面接的参数的总个数。
$* 获取当前shell脚本所有传参的参数,不加引号和$@相同,如果给$*加上双引号,例如"$*",则表示将所有的参数视为单个字符串,相当于"$1 $2 $3"。
$@ 获取当前shell脚本所有传参的参数,不加引号和$*相同:如果给$@加上双引号,例如"$@",则表示将所有的参数视为不同的独立字符串,相当于"$1" "$2" "$3" "..."。这是将多参数传递给其他程序的最佳方式,因为它会保留所有的内嵌在每个参数里的任何空白。当"$@"和"$*"都加上双引号时,两者是有区别的,都不加双引号时两者无区别。
$? 获取当前shell脚本执行上一个指令的返回值(0为成功,非0为失败),这个变量最常用。
$$ 获取当前执行的shell的进程号(PID)。
$! 获取上一个在后台工作的进程号(PID)。
$_ 获取在此之前执行的命令或者脚本的最后一个参数。

猜你喜欢

转载自www.cnblogs.com/liang545621/p/12610897.html