Shell脚本传参数方法总结
一、接收固定长度的参数
[root@svnshell_example]#catparams.sh #!/bin/bash #传参测试脚本 echo"Mynameis`basename$0`-Iwascalledas$0" echo"Myfirstparameteris:$1" echo"Mysecondparameteris:$2"
空参数执行
[root@svnshell_example]#shparams.sh Mynameisparams.sh-Iwascalledasparams.sh Myfirstparameteris: Mysecondparameteris:
传递2个参数执行
[root@svnshell_example]#shparams.shonetwo Mynameisparams.sh-Iwascalledasparams.sh Myfirstparameteris:one Mysecondparameteris:two
二、那如果还有参数怎么办呢?还要一个个加上来吗?答案是否定的
以下用法应该不陌生,就是直接执行脚本本身,没有附带任何参数,那么脚本讲抛出帮助信息.即怎么使用此脚本.见红字部分
[root@svnshell_example]#shparams_v2.sh Mynameisparams_v2.sh-Iwascalledasparams_v2.sh Iwascalledwith0parameters. Usage:params_v2.shfirstsecond Youprovided0parameters,but2arerequired.
代码如下
[root@svnshell_example]#catparams_v2.sh #!/bin/bash #这是个测试脚本传参的测试例子
echo"Mynameis`basename$0`-Iwascalledas$0" echo"Iwascalledwith$#parameters."
if["$#"-eq"2"];then echo"Myfirstparameteris$1" echo"Mysecondparameteris$2" else echo"Usage:`basename$0`firstsecond" echo"Youprovided$#parameters,but2arerequired." fi