使用不带参数的 getopts 获取帮助输出

Using getopts with no argument for help output

您好,我正在创建一个使用 getopts 的 bash 脚本。 现在我想创建一个“-h”参数来获得帮助。 但是每次我都必须给参数一个参数。

Now

test.sh -h test

What I want

test.sh -h
help
help
help



while getopts :c:s:d:h:I:p:r FLAG; do
  case $FLAG in


        s)
                SOURCE=$OPTARG
                ;;
        d)
                DESTINATION=$OPTARG
                ;;
        I)
                ISSUE=$OPTARG
                ;;
        c)
                CUSTOMER=$OPTARG
                test -e /etc/squid3/conf.d/$CUSTOMER.conf
                customer_available=$?
                ;;
        p)
                PORT=$OPTARG
                ;;
        h)      HELP=$OPTARG
                echo help

选项后的:表示该选项需要一个参数。

OPTARG 变量包含您传递给选项的参数。

如果您不需要参数,请删除 h 之后的 :HELP=$OPTARG 行。

while getopts :c:s:d:hI:p:r FLAG; do
...
     h)      echo help
...
done

如需进一步参考,请查看此 link