Getopt(1) is a program to help shell scripts parse command-line parameters. It is for example included in the util-linux distribution (versions up to 2.7.1) for Linux. But, there were some problems with that getopt(1) implementation, as listed in the 'BUGS' section of its man-page: * Whatever getopt(3) has. * Arguments containing white space or imbedded shell metacharacters generally will not survive intact; this looks easy to fix but isn't. * The error message for an invalid option is identified as coming from getopt rather than from the shell procedure containing the invocation of getopt; this again is hard to fix. * The precise best way to use the set command to set the arguments without disrupting the value(s) of shell options varies from one shell version to another. Additionally, the example in the manual-page does not run correctly (at least not with any bash shell I have tried). This implementation of getopt(1) solves some of these problems, while still staying (for all practical purposes) completely compatible with other getopt(1) implementations. It has replaced the old util-linux version, but it should be useful for other Unixes too.