-
变量说明:
$$ ——Shell本身的PID(ProcessID)
$! ——Shell最后运行的后台Process的PID
$? ——最后运行的命令的结束代码(返回值);上一条命令执行后的状态,结果为0表示执行正常,结果为1表示执行异常;
∗ — — 所 有 参 数 列 表 。 如 " * ——所有参数列表。如" ∗——所有参数列表。如"*“用「”」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
@ — — 所 有 参 数 列 表 。 如 " @ ——所有参数列表。如" @——所有参数列表。如"@“用「”」括起来的情况、以"$1" “ 2 " … " 2" … " 2"…"n” 的形式输出所有参数。
$# ——添加到Shell的参数个数
$0 ——Shell本身的文件名
1 ~ 1~ 1~n ——添加到Shell的各参数值。$1是第1参数、$2是第2参数…。 -
实例test.sh
#!/bin/bash
echo "脚本名称: $0"
echo "第一个参数: $1"
echo "第二个参数: $2"
echo "参数个数: $#"
echo "输入的参数:$*"
for key in $*
do
echo $key;
done
for key in "$*"
do
echo $key
done
echo "输入的参数:$@"
for key in $@
do
echo $key;
done
for key in "$@"
do
echo $key;
done
echo "进程id: $$"
echo "状态: $?"
- 执行
bash test.sh a b
bash test.sh a b c d
这说明在命令行中传参的个数并不是由里面的需求个数确定的,没有限定,传多少参数都是允许的,里面按顺序调用就可以了。如果输入的参数少于文件内调用的个数,那就是空。