脚本参数变量 | 含义 |
---|---|
$n(n为数字) | 表示后接的第n个参数,n=1,2...。若n=0,则表示脚本名称 |
$# | 表示脚本后面接的参数的个数(即不包括脚本名称$0) |
$@ | 表示脚本所有参数,但以类似数组的形式,如[ "$1","$2","$3" ]。每个变量为独立的。 |
$* | 表示脚本所有参数合成的字符串,如[ "$1 $2 $3" ]。默认是以空格键作为分割符 |
补充:shift
命令可以移动脚本参数,后面可接数字,表示偏移的参数个数
[test@test]$ vim test.sh
#!/bin/bash
shift 2
echo "paramter: $@"
echo "paramter number: $#"
#执行结果如下
[test@test]$ bash test.sh one two three
paramter: three
paramter number: 1
命令行/脚本变量 | 含义 |
---|---|
$? | 前一个命令执行完毕的返回值,0表示成功。可与exit n(n为数字)配合使用 |
$$ | 取得进程的PID。命令行使用,取得当前shell的PID。脚本内则为脚本进程的PID |
$! | Shell最后运行的后台进程的PID |
$- | 内容为 set 的所有设定(set 可以设定指令的输出输入环境) |
补充:$!
可能比较难理解,实例如下
[test@test]$ sleep 300 &
[2] 2388
[test@test]$ echo $!
2388
网友评论