3. Shell 传递参数
$* 与 $@ 区别
- 相同点:都是引用所有参数。
- 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 “ * “ 等价于 “1 2 3”(传递了1个参数),而 “@” 等价于 “1” “2” “3”(传递了3个参数)。
1. # !/bin/bash
2. # author:Asa
4. echo "-- \$* 演示 ---"
5. for i in "$*"; do
6. echo $i
7. done
9. echo "-- \$@ 演示 ---"
10. for i in "$@"; do
11. echo $i
12. done
执行脚本,输出结果如下所示:
1. $ chmod +x test.sh
2. $ ./test.sh 1 2 3
3. -- $* 演示 ---
4. 1 2 3
5. -- $@ 演示 ---
6. 1
7. 2
8. 3
