- 命令行参数
bash xxx.sh arg1 arg2
- 位置参数。第1个参数是$1,第2个$2
$0 $1 .. $9 ${10}
- 若参数内容包含空格,则必须使用引号
bash xxx.sh "arg1 arg2"
- 特殊参数
$#
# 参数个数$*
$@
# 都表示所有参数,区别是"arg1 arg2"参数有空格时,$*认为是2个参数,$@认为是1个参数。
- 移除参数
shift
# 假如有a,b,c三个参数,执行shift语句后,就只剩b,c两个参数了。
$?
上一次命令执行的返回值
从其他地方摘了段代码作举例:
[root@linuxprobe~]# vim example.sh
#!/bin/bash
echo "当前脚本名称为$0"
echo "总共有$#个参数,分别是$*。 "
echo "第 1 个参数为$1,第 5 个为$5。 "
[root@linuxprobe~]# bash example.sh one two three four five six
当前脚本名称为 example.sh
总共有 6 个参数,分别是 one two three four five six。
第 1 个参数为 one,第 5 个为 five。