sh 如何使用bash / getopt解析选项的示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 如何使用bash / getopt解析选项的示例相关的知识,希望对你有一定的参考价值。

#!/bin/bash
#
# Example of how to parse short/long options with 'getopt'
#

OPTS=`getopt -o vhns: --long verbose,dry-run,help,stack-size: -n 'parse-options' -- "$@"`

if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi

echo "$OPTS"
eval set -- "$OPTS"

VERBOSE=false
HELP=false
DRY_RUN=false
STACK_SIZE=0

while true; do
  case "$1" in
    -v | --verbose ) VERBOSE=true; shift ;;
    -h | --help )    HELP=true; shift ;;
    -n | --dry-run ) DRY_RUN=true; shift ;;
    -s | --stack-size ) STACK_SIZE="$2"; shift; shift ;;
    -- ) shift; break ;;
    * ) break ;;
  esac
done

echo VERBOSE=$VERBOSE
echo HELP=$HELP
echo DRY_RUN=$DRY_RUN
echo STACK_SIZE=$STACK_SIZE

以上是关于sh 如何使用bash / getopt解析选项的示例的主要内容,如果未能解决你的问题,请参考以下文章

如何使用内置 Bash getopts 的长选项?

在 Bash 中使用 getopts 检索单个选项的多个参数

sh 用于bash的模板getopts参数解析各种类型的参数。

使用 getopts (bash) 的多个选项参数

Bash getopts,参数没有被传递给选项

使用 getopts 处理长短命令行选项