在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的選項字符串中添加冒號可以處理選項組合,并獲取對應的參數值。