In older ksh or bash, the builtin command
getopts can usually only handle short option.
But newer Korn shell may be able to handle long options as show in an other article.
If you don't have the chance to get a recent shell, or if you want to write more portable script, this article will show how to handle GNU-style long options (
-- double hyphen) using getopts with few extra lines of scripting.
(foobar_any_getopts.sh zip file attachement in this article)
In recent Korn Shell ksh93,
getopts can be more powerful than you think, it can :
- naturally parse short and long options with error management
- manage option value as optional, as mandatory or as numeric
- auto generate man page alike
This article will show how to use
getopts in recent ksh93. If you have older ksh, read this other article instead.
(foobar_getopts.ksh zip file attachement in this article)
It's sometimes painful to create a shell script from scratch ...
So here is a script template that can help to start any good shell script.
This template contains header which is use for usage info as well, useful predefined functions and predefined variables, and manage short and long options.
(template.sh zip file is attached in this article)