Shell中的变量符号详解
Shell中的变量符号说明
| 变量 | 说明 |
|---|---|
| $# | 传给脚本的参数个数 |
| $0 | 脚本名称 |
| $1 | 传给脚本的第一个参数,数字表示第几个参数,以此类推 |
| $@ | 传给脚本的参数列表 |
| $* | 传给脚本的参数列表,有双引号时,表示参数合并为一个参数 |
| $$ | 脚本当前运行进程的ID |
| $! | 获取上一个进程的ID |
| $? | 获取上一个进程执行的结果,0表示成功,其他值表示失败 |
代码示例
*与@比较
有双引号时
#!/bin/bash
cnt=1
for i in "$*"
do
echo Number of $cnt parameter is: $i
(( cnt++ ))
done
echo
cnt=1
for i in "$@"
do
echo Number of $cnt parametre is: $i
(( cnt++ ))
done
结果输出
Number of 1 parameter is: hello world, are you ok?
Number of 1 parametre is: hello
Number of 2 parametre is: world,
Number of 3 parametre is: are
Number of 4 parametre is: you
Number of 5 parametre is: ok?
代码说明
脚本内部引用无双引号时,均表示参数列表
引用有双引号时,\$*会将所有入参看作一个参数