1.介绍 #
shell有很多以$开头的特殊变量,以下是对于这些变量的说明:
变量 | 意义 |
---|---|
$$ | Shell本身的PID(ProcessID) |
$! | Shell最后运行的后台Process的PID |
$? | 最后运行的命令的结束代码(返回值) |
$- | 使用Set命令设定的Flag一览 |
$* | 所有参数列表。如"$*“用「"」括起来的情况、以”$1 $2 … $n"的形式输出所有参数。 |
$@ | 所有参数列表。如"$@“用「"」括起来的情况、以”$1" “$2” … “$n” 的形式输出所有参数。 |
$# | 添加到Shell的参数个数 |
$0 | Shell本身的文件名 |
$1~$n | 添加到Shell的各参数值。$1是第1参数、$2是第2参数… |
2.例子 #
下面通过一个例子解释怎么使用这些特殊变量 命令一个variable.sh的简单脚本,其内容如下
#!/bin/bash
echo "number:$#" # $# 是传给脚本的参数个数
echo "scname:$0" # $0 是脚本本身的名字
echo "first :$1" # $1是传递给该shell脚本的第一个参数
echo "second:$2" # $2是传递给该shell脚本的第二个参数
echo "argume:$@" # $@ 是传给脚本的所有参数的列表
echo "all argume:$*" # $* 所有参数列表
echo "finish code:$?" # $? 最后运行命令的结束代码
执行该脚本并传入aa和bb两个参数
bash variable.sh aa bb
得到如下结果
number:2
scname:variable.sh
first :aa
second:bb
argume:aa bb
finish code:0
最后一次修改于 2018-11-24