Shell: linux中shell变量$#,$@,$0,$1,$2的含义解释

转载并整理:http://hi.baidu.com/ipvsadm/item/489d9e16460195ddbe9042ee,谢谢!


linux中shell变量$#,$@,$0,$1,$2的含义解释:
变量说明:
        $$: Shell本身的PID(ProcessID)
        $!: Shell最后运行的后台Process的PID
        $?: 最后运行的命令的结束代码(返回值)
        $-: 使用Set命令设定的Flag一览
        $_: 保存之前执行的命令的最后一个参数
        $*: 所有参数列表。所有的位置参数,被作为一个单词。注意:"$*"必须被""引用。 如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
        $@: 所有参数列表。与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整地传递,并没有被解释和扩展.这也意味着,每个参数列表中的每个参数都被当成一个独立的单词。注意:"$@"必须被""引用.如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
        $#: 添加到Shell的参数个数
        $0: Shell本身的文件名
        $1~$n: 添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

        退出状态(exit status)
        函数返回一个被称为退出状态的值. 退出状态可以由return 来指定statement, 否则函数的退出状态是函数最后一个执行命令的退出状态(0 表示成功,非0 表示出错代码). 退出状态(exit status)可以在脚本中由$? 引用. 这个机制使脚本函数也可以像C 函数一样有一个"返回值".
        return
        终止一个函数.return 命令[1]可选地带一个整数参数,这个整数作为函数的"返回值"返回给调用此函数的脚本,并且这个值也被赋给变量$?.


你可能感兴趣的:(Shell: linux中shell变量$#,$@,$0,$1,$2的含义解释)