我想向我的自定义 shell 脚本添加一些选项。我可以展示它给你,因为这不是绝密内容:-P
根据我的经验,有两种选项类型,设置和取消设置选项:设置选项通常是双连字符的,类型为--key=value
,但也可以显示为有序元组-k value
。未设置的选项要么是short -k
,要么是long --key
。
从一般角度来看,我们想要定义选项,以便它们具有默认配置以及短变体和长变体。我尝试考虑一下,但我目前的经验不足只允许我使用已经定义的命令。
有一些特殊的标签,例如--help/-h
和--version/-v
,但我认为我们已经做了很多工作。到目前为止我的尝试如下:
UNSET_OPTIONS_SHORT=(
"-ut1"
"-ut2"
)
UNSET_OPTIONS_LONG=(
"--unset_tag_1"
"--unset_tag_2"
)
UNSET_OPTIONS_DEFAULT=(
"true"
"false"
)
SET_OPTIONS_SHORT=(
"--st1"
"--st2"
)
SET_OPTIONS_LONG=(
"--set_tag_1"
"--set_tag_2"
)
SET_OPTIONS_DEFAULT=(
"42"
"mango"
)
SET_OPTIONS_DELIMITER="="
ARGS=( "${@}" )
for arg in ${ARGS[@]}; do
# parse and identify arguments into between options and inputs
# It must early-fail in case it cannot parse options,
# either short or long formats
done