私のカスタムシェルスクリプトにいくつかのオプションを追加したいと思います。私が見せることができますそれここにあります。これは一流の秘密ではないからです。 :-P
私の経験では、設定オプションと設定解除オプションの2つのオプションタイプがあります。設定オプションは通常、タイプが二重ハイフンでリンクされていますが、順序付き--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