【发布时间】:2013-02-20 08:11:48
【问题描述】:
我有脚本,我需要在其中显示使用命令,以防用户在执行脚本时错过任何强制性信息。
Usage : Script -s <server> -i <instance> -u <user> -p <password> <query> -w <warning value> -c <critical value>
附上所有OPTIONS的解释
我从以下变量时尚的参数中获取值。但我希望这种用法与 shell 脚本中的验证一起使用。
SERVER=$1
INSTANCE=$2
USER=$3
DB_PASSWD=$4
QUERY=$5
VAL_WARN=$6
VAL_CRIT=$7
我曾尝试使用getopts,但未能使用,因为<query> 在传递值之前没有-q 参数。
我已经尝试寻找所有其他方法,但每个人都建议 getopts 这对我来说不是可行的解决方案。
请帮帮我..
【问题讨论】:
-
选项字母的优点之一是它允许用户以任何顺序放置项目。如果订单是固定的,则无需操心
-s等选项;这只会使用户输入额外的内容,基本上没有任何好处。我注意到原始命令行中的服务器字符串是$2(不是$1)。你不能规范你的命令,以便需要-q,或者查询是最后一个参数吗?是否有任何选项具有合理的默认值?如果是这样,请使用它们而不是要求用户输入 13 个参数。您的用户会感谢您,您的脚本会更容易编写。