之前介绍过shell内置的getopts命令处理shell脚本选项和参数。 这里重点介绍下getopt命令,它可以同时处理短选项和长选项。 首先,getopt命令不是一个标准的unix命令,但它在大多数Linux的发行版中都自带了有,如果没有,也可以从getopt官网上下载安装。
在getopt的较老版本中,存在一些bug,不大好用,在后来的版本中解决了这些问题,称之为getopt增强版。
复制代码代码示例:
#getopt -T
#echo $? 4 #getopt -V getopt (enhanced) 1.1.4 getopt命令与getopts命令不同,它实际上是通过将参数规范化来帮助我们处理的。
shell脚本:
复制代码代码示例:
#!/bin/bash
#-o或--options选项后面接可接受的短选项,如ab:c::,表示可接受的短选项为-a -b -c,其中-a选项不接参数,-b选项后必须接参数,-c选项的参数为可选的
#echo $ARGS
while true
#处理剩余的参数
注意,像上面的-c选项,后面是可接可不接参数的,如果需要传递参数给-c选项,则必须使用如下方式:
复制代码代码示例:
#./getopt.sh -b 123 -a -c456 file1 file2
(责任编辑:IT)Option b, argument 123 Option a Option c, argument 456 processing file1 processing file2 #./getopt.sh --blong 123 -a --clong=456 file1 file2 Option b, argument 123 Option a Option c, argument 456 processing file1 processing file2 |