特殊变量列表
变量 | 含义 |
---|---|
$0 | 当前脚本的文件名 |
$n | 传递给脚本或函数的参数. n是一个数字,比如第一个参数是$1… |
$# | 传递给脚本或函数的参数个数 |
$* | 传递给脚本或函数的所有参数. |
$@ | 传递给脚本或函数的所有参数. |
$? | 上个命令的退出状态,或函数返回值 |
$$ | 当前shell进程ID |
示例
-
参数输出
脚本内容:
#!/bin/bash echo "File Name: $0" echo "First Parameter : $1" echo "First Parameter : $2" echo "Quoted Values: $@" echo "Quoted Values: $*" echo "Total Number of Parameters : $#" echo "Shell PID : $$" echo "Shell status : $?"
运行结果:
-
$* 和 $@ 的区别
不被双引号( " " )包含时,都以 "$1" "$2" … "$n" 的形式输出所有参数. 被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数.