bash 会将一些位置参数的特殊变量分配给输入到命令行中的所有参数。
位置参数变量
1.位置参数是标准的数字:$0 是程序名,$1是第一个参数, $2是第二个参数,依此类推,直到第九个参数$9。这些位置参数必须用空格分开,shell会将每个参数分配给对应的变量。
2.如果要在参数值中包含空格,必须要用引号(单引号或者双引号都可以)。
3.如果脚本需要的命令行参数不止9个,在第9个变量之后,必须在变量数字周围加上花括号,比如${10}。
4.读取脚本名,basename($0)
bash test.sh # $0的值为test.sh
./test.sh # $0的值为./test.sh
bash /home/test/test.sh # $0的值为/home/test/test.sh
/home/test/test.sh # $0的值为/home/test/test.sh
#以上运行不一定得到脚本名字,结合basename命令可以得到脚本名字
basename($0) # 得到的值为test.sh
特殊参数变量
1.特殊变量$#,