解析参数时获取多行语句

getopt multiple line statements while parsing arguments

这里有点麻烦。 我从来没有做过很长的选择,所以我正在尝试 getopt 而不是 getopts。

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

BASH 下面的脚本:

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

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

- usage() 应该改为 usage.