首页 > shell > shell中$0,$?,$!等$开头变量含义

shell中$0,$?,$!等$开头变量含义

$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
$#
添加到Shell的参数个数
$*
所有参数列表。如”$*”用双引号括起来的情况、以”$1 $2 … $n”的形式输出所有参数。
$@
所有参数列表。如”$@”用双引号括起来的情况、以”$1″ “$2” … “$n” 的形式输出所有参数。
$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览

测试用例

#!/bin/sh
echo "pid:$$"
echo "Process PID:$!"
echo "最后运行的命令:$?"
echo "Set : $-"
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
echo "argume:$*"

下面是运行结果:

➜  Desktop ./test.sh aa bb dd ff gg hh
pid:98278
Process PID:
最后运行的命令:0
Set : hB
number:6
scname:./test.sh
first :aa
second:bb
argume:aa bb dd ff gg hh
argume:aa bb dd ff gg hh
  1. 还没有评论
评论提交中, 请稍候...

留言


可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks