十三、shell中的特殊且重要的变量
1.shell中的特殊位置参数变量
在shell中存在一些特殊且重要的变量,例如:$0、$1、$#,我们称之为特殊位置参数变量。要从命令行、函数、脚本执行性等处传递参数时,就需要在shell脚本中使用位置参数变量。
常用的特殊位置参数变量表
位置变量 | 作用说明 |
---|---|
$0 | 获取当前执行的shell脚本的文件名,如果执行脚本包含了路径,那么就包括脚本路径。 |
$n | 获取当前执行的shell脚本的第n个参数值,n=1...9,当n为0时表示脚本的文件名;如果n大于9,则用大括号括起来,例如${10},接的参数以空格隔开 |
$# | 获取当前执行的shell脚本后面接的 参数的总个数 |
$* | 获取当前shell脚本所有传参的参数,不加引号和$@相同;如果给$加上双引号,例如:“$”,则表示将所有的参数是为单个字符串,相当于“$1 $2 $3” |
$@ | 获取当前shell脚本所有传参的参数,不加引号和$相同;如果给$@加上双引号,例如:“$@”,则表示将所有的参数视为不同的独立字符串,相当于“$1” “$2” “$3” “...”。这是将多参数传递给其他程序的最佳方式,因为它会保留所有的内嵌在每个参数里的任何空白。当“$@”和“$”都加双引号时,两者是有区别的;都不加双引号时,两者无区别 |
网友评论