Bash shell提供了一些不同的方法来从用户处获得数据,包括以下3中方法:
13.1-命令行参数(直接手工处理位置参数)
向shell脚本传递数据的基本方法就是使用命令行参数,能满足多数的简单需求。
命令行参数运行在运行脚本时向命令行添加数据。
必须要要知道几个变量,
- $0 :即命令本身,相当于C/C++中的argv[0]
- $1 :第一个参数.
- $2, $3, $4 ... :第2、3、4个参数,依次类推。
- $# 参数的个数,不包括命令本身
- $@ :参数本身的列表,也不包括命令本身
- $* :和$@相同,但"$*" 和 "$@"(加引号)并不同,
"$*"将所有的参数解释成一个字符串,
"$@"是一个参数数组。
注意几点:
- 如果输入更多的命令行参数,则每一个参数必须 空格 隔开
- 如果在参数值中包含空格,必须使用引号(单引号或多引号均可)
- 在第9个变量之后,必须在变量数字周围加上花括号,如${10}
举例1:
举例2:
使用$#检查运行脚本携带的参数个数, 而不采用-n测试来检查命令行参数
举例3:
举例4: