$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*“用「”」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@
所有参数列表。如"$@“用「”」括起来的情况、以"$1" “$2” … “$n” 的形式输出所有参数。
$#
添加到Shell的参数个数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
写一个简单的脚本variable
#!/bin/sh
echo “number:$#”
echo “scname:$0”
echo “first :$1”
echo “second:$2”
echo “argume:$@”
赋予脚本执行权限
# chmod +x variable
执行脚本
# ./variable aa bb
结果如下:
number:2
scname:./variable
first: aa
second:bb
argume:aa bb
再来看一个例子:shelltest
#!/bin/sh
echo “parm number is : $#”
echo “parm list is : $*”
echo “all parm is : $@”
echo “process is : $$”
echo “file name is : $0”
echo “the first parm is : $1”
echo “stat is : $?”
执行:
chmod +x shelltest
sh ./shelltest "the first parm " “the second parm”
结果如下:
parm number is : 2
parm list is : the first parm the second parm
all parm is : the first parm the second parm
process is : 28669
file name is : shelltest
the first parm is : the first parm
stat is : 0