为什么getopt在我的mac os中运行不正常?

qiu*_*ian 2 shell getopt

在bash:我输入命令:

getopt -l name,data -- --namd
Run Code Online (Sandbox Code Playgroud)

而输出是

-- name,pp -- --namd
Run Code Online (Sandbox Code Playgroud)

输入:

getopt -l name,data -- --name
Run Code Online (Sandbox Code Playgroud)

输出其他

-- name,pp -- --name
Run Code Online (Sandbox Code Playgroud)

我输入时为什么不告诉我错误getopt -l name,data -- --namd

Pet*_*esh 5

问题是在mac上,getopt是基于BSD的getopt,而不是基于gnu的getopt.

它不了解长期选择.并不是说它"不能很好地工作",而是因为它不是为了满足你的要求而设计的.

  • 您可以从 macports 安装 gnu getopt - http://stackoverflow.com/questions/402377/using-getopts-in-bash-shell-script-to-get-long-and-short-command-line-options (2认同)