getopt, getopts or manual parsing - what to use when I want to support both short and long options?
78
votes
5
answers
69976
views
Currently I'm writing a Bash script which has the following requirements:
* it should run on a wide variety of Unix/Linux platforms
* it should support both short and (GNU) long options
I know that
getopts
would be the preferred way in terms of portability but AFAIK it doesn't support long options.
getopt
supports long options but the BashGuide recommends strongly against it:
> Never use getopt(1). getopt cannot handle empty arguments strings, or
> arguments with embedded whitespace. Please forget that it ever
> existed.
So, there still is the option of manual parsing. This is error-prone, produces quite some boilerplate code, and I need to handle errors by myself (I guess getopt(s)
do error-handling by themselves).
So, what would be the preferred choice in this case?
Asked by helpermethod
(2052 rep)
Jan 29, 2013, 11:37 AM
Last activity: Aug 13, 2024, 01:54 PM
Last activity: Aug 13, 2024, 01:54 PM