Date: Wed, 17 Jun 1998 08:12:29 -0400 (EDT) From: Jamie Bowden <jamie@itribe.net> To: Donn Miller <dmm125@bellatlantic.net> Cc: hackers@FreeBSD.ORG Subject: Re: getopt and files that start with - or -- Message-ID: <Pine.SGI.3.96.980617080837.11279F-100000@animaniacs.itribe.net> In-Reply-To: <Pine.NEB.3.96.980616184616.202A-100000@myname.my.domain>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 16 Jun 1998, Donn Miller wrote:
> Hi
>
> I had some problems with filenames that start with - or --. The getopt()
> library function interprets arguments beginning with "-" passed to
> programs like ls, rm, grep as options. This is bad if you try to do
> rm -* or
> ls -* or grep "a string" -*. I thought maybe a provision could be made to
> "ignore the following arguments" passed to getopt().
>
> Say you have a file named --weird.jpg. You want to remove this, so you
> do:
>
> rm --* or just --weird.jpg. rm will complain about the invalid option
> --weird.jpg, which isn't actually an option but a filename. "ls" will
> also complain, as well as other programs using getopt(). So I thought
> that maybe getopt could use an option such as ---i or ---ignore to ingore
> all other options. Otherwise, you would have to use a program like this
> to remove the offending files:
Unneccessary code deleted.
>From the rm manpage:
NOTE
The rm command uses getopt(3) to parse its arguments, which allows it
to
accept the `--' option which will cause it to stop processing flag
op-
tions at that point. This will allow the removal of file names that
be-
gin with a dash (`-'). For example:
rm -- -filename
The same behavior can be obtained by using an absolute or relative
path
reference. For example:
rm /home/user/-filename
rm ./-filename
This is useful for commands that do not use getopt(3) to parse the
com-
mand line arguments.
Jamie Bowden
Systems Administrator, iTRiBE.net
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SGI.3.96.980617080837.11279F-100000>
