bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bug in chown


From: Bob Proulx
Subject: Re: bug in chown
Date: Wed, 17 Sep 2008 21:03:06 -0600
User-agent: Mutt/1.5.13 (2006-08-11)

Thanks for the report.  But what you are reporting is expected
behavior.  This is not a bug in chown or other utility.

Adam Hayes wrote:
> I (accidentally) created a file in the working directory named
> "--exclude".  When I ran
> chown [username] *
> in that directory, it gave an error:
> chown: unrecognized option `--exclude'

Yes.  That is because the shell expands wildcards (e.g. "*")
characters before invoking the command.  The command doesn't have any
way of knowing if the result was a wildcard expansion from the shell
or an explicit command from the user.  They are both simply characters
in the program argument list.

> It seems to me that chown should not think that something in the directory
> is a command option.

What you are asking for is not possible.  For example if you create a
file name "--verbose" and then tried to use 'rm' to remove the file
and rm refused to remove it because it is also a command line option
you would have the same problem in reverse.

If you want to avoid a program argument being interpreted as an option
then you must tell the command that you are done passing options.

  chown USER:GROUP -- --exclude

Or prefix the filename with ./ to avoid it starting with the --option
prefix.

  chown USER:GROUP ./--exclude

These rules apply to all of the utilities.

Hope this helps,
Bob




reply via email to

[Prev in Thread] Current Thread [Next in Thread]