1、命令行参数
(1)bash shell将一些称为位置参数的特殊变量分配给命令行输入的所有参数,这甚至包括shell执行的程序的名字。位置参数变量是标准的数字:$0是程序名,$1是第一个参数,$2是第二个参数,以此类推,直到第9个参数,如果脚本需要多于9个参数,你仍然可以处理${10}
(2)参数计数:$#参数的个数
可以用 ${$#}来获取最后一个参数,但是不能在花括号内使用美元符号,可以使用!$。
(3)抓取所有数据 $* $@,$*会把所有的变量当成单个参数,而$@变量会单独出来每个参数。
2、移动变量:shift num:移动几位,但程序名变量不会移动。
3、使用getopt命令:-p错误时不输出
4、使用getopts
5、获取用户输入:read
(1)-p:允许直接在read命令行指定提示符
(2)-t:指定超时时间
(3)-s:组织传给read命令的数据显示在显示器上(实际上,数据会被显示,只是read命令会 将文本颜色设置成 跟背景色一样)
(4)也可以在read中不指定变量,则数据默认都放进特殊环境变量REPLY中
(5)也可以从文件中获取:cat test | while read line