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

posted @ 2018-03-08 18:29  Zhai_David  阅读(55347)  评论(0编辑  收藏  举报