在Linux中,getopts是一个用来处理命令行选项的工具,可以用来解析命令行参数并获取对应的值。getopts默认情况下只能处理单个选项(比如-a),如果需要处理选项组合(比如-abcd),可以通过在getopts的选项字符串中添加冒号来实现。
下面是一个示例代码,演示如何使用getopts处理选项组合:
while getopts "abc:d:" opt; do
case $opt in
a)
echo "Option a"
;;
b)
echo "Option b"
;;
c)
echo "Option c with value $OPTARG"
;;
d)
echo "Option d with value $OPTARG"
;;
\?)
echo "Invalid option: -$OPTARG" >&2
;;
esac
done
在上面的示例中,选项字符串"abc:d:" 中的冒号表示选项c和d需要一个参数值。这样,当用户输入"-cd value"时,getopts会正确解析选项组合,并将参数值赋给对应的选项。
总结:通过在getopts的选项字符串中添加冒号可以处理选项组合,并获取对应的参数值。