linux shell判断脚本执行时传入了多少个参数,判断脚本参数个数,参数数量
需求描述:
在写shell脚本的时候,会有这样的需求,脚本在执行的过程中是需要传入参数的,如果没有参数传递给脚本,
就会给出相应的脚本使用方法或者例子,告知,脚本后面应该加什么样的参数。所以呢,这里要做的就是如何
知道当前传递给脚本的参数的数量,如果是0个,就执行使用说明的显示。
实现方法:
脚本中通过$#来判断,当前传递给脚本的参数的数量。
测试脚本:
#!/bin/bash echo $#
测试过程:
分别传入多个参数,并且执行脚本,查看执行的结果。
[root@redhat6 ~]# ./ts.sh para1
1
[root@redhat6 ~]# ./ts.sh para1 para2
2
[root@redhat6 ~]# ./ts.sh para1 para2 para3
3
[root@redhat6 ~]# ./ts.sh para1 para2 para3 para4
4
[root@redhat6 ~]# ./ts.sh para1 para2 para3 para4 para5
5
说明:通过以上的执行结果可以知道,$#的数量即传递给脚本的参数的数量是从$1开始计算的,如果在$1的位置有内容就计数为1,$1 $2的位置都有内容则计数为2,依此类推。
注意:$0是脚本本身,不算是参数,从$1开始计算。
判断如果传入的参数的数量等于0,那么就显示脚本使用方法:
if [ $# -eq 0 ]; then usage exit fi
备注:usage是自定义函数,这里仅仅是做一个演示调用,具体情况要自行定义该函数。
文档创建时间:2018年3月8日18:27:26