58 lines
2.2 KiB
Plaintext
58 lines
2.2 KiB
Plaintext
/***** unido:mod.std.unix / ut-sally!jsq / 8:54 pm Jul 4, 1985*/
|
|
From: John Quarterman (moderator) <ut-sally!std-unix>
|
|
|
|
Topic: yet more on getopt (command line arguments)
|
|
|
|
Two more messages, the first a followup to a previous posting, and
|
|
the second public domain sources and man pages for getopt(3) and getopt(1).
|
|
-mod
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
From: ihnp4!utzoo!henry
|
|
Date: 3 Jul 85 18:34:41 CDT (Wed)
|
|
To: ihnp4!ut-sally!std-unix
|
|
Subject: Re: command line arguments
|
|
|
|
> > A group of bundled options may end with an option that has an argument.
|
|
>
|
|
> This creates confusion in using C-Kermit when you want to send an image
|
|
> file. For example:
|
|
>
|
|
> send -is filename < --- works fine
|
|
> send -si filename < --- bombs the program
|
|
|
|
The AT&T syntax standard (which getopt does not completely enforce)
|
|
actually forbids both of these usages. Options with arguments are not
|
|
allowed to be bundled, and they must be separated from their arguments
|
|
by a space.
|
|
|
|
> I would *much* prefer to bundle the flags, then
|
|
> have those with arguments pick them up in the same order as the flags are
|
|
> listed.
|
|
|
|
The few existing commands that use such a convention, notably tar(1), are
|
|
(in my experience) the worse for it. It's seriously error-prone. I think
|
|
the AT&T people did the right thing.
|
|
|
|
------------------------------
|
|
|
|
Date: Tue, 2 Jul 85 13:07:09 edt
|
|
From: ihnp4!utcs!ian (Ian F. Darwin)
|
|
To: ihnp4!ut-sally!jsq@tzec.UTEXAS.ARPA
|
|
Subject: here is getopt
|
|
|
|
Here is the source for getopt(3), the function that should be in
|
|
everybody's C program, and getopt(1), a program that uses it to
|
|
make shell programs comprehensible and consistent. There are man
|
|
pages for both. Please send these on to the mod. group. Thanks.
|
|
|
|
[ I have hacked the following shell script slightly so that
|
|
it doesn't extract directly into system source directories,
|
|
rather into the current directory. It should be assumed that
|
|
this code comes with no warranty from me, Ian Darwin, or anyone
|
|
else as to whether it accurately represents getopt as distributed
|
|
with System V, or any command line standard, or that it works
|
|
at all, or that it will cause no damage when extracted or used. -mod]
|
|
|