(转)Shell常用的特殊位置参数变量说明

Shell常用的特殊位置参数变量说明

原文:http://m.blog.itpub.net/15498/viewspace-2151142/

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

原文地址:https://www.cnblogs.com/liujiacai/p/9003867.html