http://blog.csdn.net/misskissC/article/details/8140969
shell脚本特殊变量:
shell脚本中用’$‘引用变量。如果在脚本中引用如下变量时,其特殊的含义如下:
$0:引用本脚本的名称;
$1:引用在运行脚本时在命令行中输入的第一个参数(相当于C语言程序的第一个命令行参数);
$2:引用在运行脚本时在命令行中输入的第二个参数(相当于C语言程序的第二个命令行参数);
.........
$n:引用在运行脚本时在命令行中输入的第n个参数(相当于C语言程序的第n个命令行参数);
$?:代表刚运行过某函数后 函数的返回值。
$$:此脚本在此次运行的进城号。
$*:以单字符串显示所有向脚本传递的参数。
$@:不加特殊处理时输出跟$*一样。
例:
- #!/bin/sh
- echo "\$#:$#"
- echo "\$0:$0"
- echo "\$1:$1"
- echo "\$2:$2"
- echo "\$3:$3"
- echo "\$@:$@"
- echo "\$*:$*"
- echo "\$$:$$"
- echo "\$?:$?"
- #!/bin/sh
- echo "\$#:$#"
- echo "\$0:$0"
- echo "\$1:$1"
- echo "\$2:$2"
- echo "\$3:$3"
- echo "\$@:$@"
- echo "\$*:$*"
- echo "\$$:$$"
- echo "\$?:$?"
修改脚本权限:chmod +x special_varaible.sh
运行脚本:./special_varaible.sh x y z
得到结果如下:
- $#:3
- $0:./special_varaible.sh
- $1:x
- $2:y
- $3:z
- $@:x y z
- $*:x y z
- $$:15228
- $?:0
- $#:3
- $0:./special_varaible.sh
- $1:x
- $2:y
- $3:z
- $@:x y z
- $*:x y z
- $$:15228
- $?:0
特殊变量的应用不是脚本编写的重点。要用的时候谷歌就可以了,知道是有$number($后面跟数字或者特殊符号有特殊作用即可)。