shell中特殊变量
$0
$1
$*
$@
$#
$$
$?
$0
表示当前shell脚本的文件名
$n
$n表示传给脚本或者函数的参数. $1表示第一个参数, $2表示第二个参数.
$@
传给脚本或函数的所有参数
$*
传给脚本或函数的所有参数
$*
和$@
的区别,当被双引号包含时, $*
所有参数作为整体,而$@
将参数分开
#!/bin/bash
### test.sh
echo "\"\$*\":"
for var in "$*"
do
echo "$var"
done
echo "\"\$@\":"
for var in "$@"
do
echo "$var"
done
$#
传给脚本或函数的参数个数
$$
当前shell进程ID, shell脚本中表示脚本所在的进程ID
$?
上个命令的退出状态或函数的返回值