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

    本版积分规则

    Powered by Discuz! X3.5  © 2001-2013 Comsenz Inc.