Date: Tue, 16 May 2000 22:30:08 +0100 From: Mark Ovens <mark@ukug.uk.freebsd.org> To: cjclark@home.com Cc: Erik Trulsson <ertr1013@student.csd.uu.se>, questions@freebsd.org Subject: Re: getopt(1) or getopts(1)? Message-ID: <20000516223008.D1491@parish> In-Reply-To: <20000515220432.A55458@cc942873-a.ewndsr1.nj.home.com>; from cjc@cc942873-a.ewndsr1.nj.home.com on Mon, May 15, 2000 at 10:04:33PM -0400 References: <20000511231319.C1522@parish> <20000512084656.A1146@student.csd.uu.se> <20000512183403.A233@parish> <20000513013931.C39310@cc942873-a.ewndsr1.nj.home.com> <20000514110900.B232@parish> <20000514113604.A50543@cc942873-a.ewndsr1.nj.home.com> <20000515234055.C233@parish> <20000515220432.A55458@cc942873-a.ewndsr1.nj.home.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 15, 2000 at 10:04:33PM -0400, Crist J. Clark wrote: > On Mon, May 15, 2000 at 11:40:56PM +0100, Mark Ovens wrote: > > On Sun, May 14, 2000 at 11:36:04AM -0400, Crist J. Clark wrote: > > > On Sun, May 14, 2000 at 11:09:00AM +0100, Mark Ovens wrote: > > > > > > > > [snip] > > > > > > > > > > I'd almost got there, except I didn't know that shift wasn't needed. > > > > > > > > > Almost makes life too easy, huh? > > > > > > > > Almost. It does seem somewhat lacking in the error handling dept. > > > > though. Using the example code above, if you do: > > > > > > > > # foobar -o -a -b > > > > > > > > then getopts(1) thinks that ``-a'' is the argument to ``-o''. > > > > > > How do you know it is not? > > > > > > > If ``-a'' is a valid argument to ``-o'' then it would require special > > handling, not unlike filenames starting with ``-'', or containing > > metacharacters, they need quoting. > > Is this standardized somewhere? And since when do filenames starting > with '-' need special handling all of the time? A lot of common tools > do not behave that way, > > $ echo -v | grep -e -v > -v > $ { echo \#!/bin/sh; echo echo YES; } > -a > $ chmod 755 -a > $ sh -c -a > YES > $ > > Including sh(1) itself. But of course... > > $ rm -a > rm: illegal option -- a > usage: rm [-f | -i] [-dPRrvW] file ... > unlink file > $ rm -- -a > $ > > Lotsa times '-' files do. OK, point taken :) I was just surprised that the newer getopts(1) wasn't more comprehensive, but if that's the way it works then I'm quite happy with it. Thanks again for your help. > -- > Crist J. Clark cjclark@home.com -- ...and on the eighth day God created UNIX ________________________________________________________________ FreeBSD - The Power To Serve http://www.freebsd.org My Webpage http://ukug.uk.freebsd.org/~mark/ mailto:mark@ukug.uk.freebsd.org http://www.radan.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000516223008.D1491>