shell脚本中的$用法
变量 | 含义 |
---|---|
$0 | shell脚本的文件名 |
$1 ~ $n | 添加到shell脚本中的各参数; 即执行shell脚本时后跟的内容; $1 为第1参数,$2 为第2参数 |
$? | shell脚本运行结束时的返回值 成功为0,其他为失败 |
$$ | shell脚本运行的当前进程的id |
$! | shell脚本最后运行的后台命令的pid |
$* | 传递给shell脚本的所有参数 如果用 "" 括起来时,会把所有参数看成一个整体,返回一个字符串 |
$@ | 不用"" 括起来时,与$* 功能相同;用 "" 括起来后,会以"$1" “$2” “$3” 的形式输出所有参数,返回多个字符串 |
$# | shell脚本的参数个数 |
$_ | 上一个命令的最后一个参数 |
示例
vim skk.sh
#!/bin/bash
echo '$0' is $0 ##文件名
echo '$1' is $1 ##第1参数
echo '$2' is $2 ##第2参数
echo '$3' is $3 ##第3参数
echo '$*' is $* ##所有参数
echo '$@' is $@ ##所有参数
echo '$!' is $! ##最后运行的后台命令的pid
echo '$#' is $# ##参数个数
echo '$_' is $_ ##上一个命令的最后一个参数
echo '$?' is $? ##运行结束时的返回值
$$
当前进程的id(此处即当前bash的进程id)
"$*"
与“$@”
vim sk.sh
#!/bin/bash
echo '$*' is :
for a in "$*" ##输出$*的参数
do
echo ${a}
done
echo "-------------"
echo '$@' is : ##输出$@的参数
for b in "$@"
do
echo ${b}
done