参数传入说明如下:
echo "Shell 传递参数实例"
echo "执行的文件名:$0"
echo "第一个参数为:$1"
echo "第二个参数为:$2"
echo "传递到脚本的参数个数:$#"
echo $* #打印所有输入参数与$@相同
echo $$ #脚本执行的进程号
echo $- #显示shell当前选项
$*与$@的区别在于
- 相同点:都是引用所有参数。
- 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。
- #!/bin/bash # author:菜鸟教程 # url:www.runoob.com echo "-- \$* 演示 ---" for i in "$*"; do echo $i done echo "-- \$@ 演示 ---" for i in "$@"; do echo $i done
- $ chmod +x test.sh $ ./test.sh 1 2 3 -- $* 演示 --- 1 2 3 -- $@ 演示 --- 1 2 3