解析参数时getopt多行语句

时间:2018-04-05 23:42:10

标签: bash getopt getopts

这里有点麻烦。 我没有必要做长期选择,所以我尝试getopt而不是getopts。

出于某种原因,它一直将shift声明为无法识别的令牌。 有什么理由吗? 这也是getopt的正确实现吗?或者有更好的方法吗?

下面的BASH SCRIPT:

FLAGS=$(getopt --long "help,user:" --name $PROGNAME -- "$@")
echo $FLAGS
eval set -- "$FLAGS"

while true; do
  case $1 in
    --help)
        usage()
        shift
        ;;
    *)
      shift
      exit 1
      ;;
  esac
  shift
done

1 个答案:

答案 0 :(得分:3)