shell 像所有语言一样可以在执行时传递参数
根据 $
加数字的方式可以获取相应的参数
$0
当前脚本的绝对路径文件名$1
第一个参数$2
第二个参数
以此类推
$
加上其他字符可以获取更多种类参数
1 | $# # 传递到脚本的参数个数 |
$*
与 $@
区别:
- 相同点:都是引用所有参数。
- 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 “ * “ 等价于 “1 2 3”(传递了一个参数),而 “@” 等价于 “1” “2” “3”(传递了三个参数)。
1 | #!/usr/local/env bash |
1 | $ chmod +x test.sh |