GNU bug report logs - #6353
cp and mv with single wild card argument acts as if multiple arguments were entered.

Previous Next

Package: coreutils;

Reported by: Darwin Gregory <darwin.gregory <at> gmail.com>

Date: Fri, 4 Jun 2010 16:17:01 UTC

Severity: normal

Done: Bob Proulx <bob <at> proulx.com>

Bug is archived. No further changes may be made.

Full log


Message #17 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Davide Brini <dave_br <at> gmx.com>
To: bug-coreutils <at> gnu.org
Subject: Re: bug#6353: cp and mv with single wild card argument acts as if
	multiple arguments were entered.
Date: Fri, 4 Jun 2010 21:49:08 +0100
On Friday 04 June 2010, Darwin Gregory wrote:

> If you execute "cp /path/*" the command expands the wildcard, and treats
>  the last file as the destination directory.  If the last file in /path/ is
>  not a directory the command fails, but not with the appropriate error. 
>  However, if the last file in the directory (or other wildcard expansion)
>  is a directory, it will copy all earlier files in the expansion to that
>  directory.
> 
> The same happens for mv.  I did mv * in my home directory where the last
> entry was a workspace subdirectory.  It moved all of my files and
> directories to my workspace subdirectory.
> 
> I feel this is an unacceptable outcome for a single argument that is a
> wildcard, since whether it works or not is based on the arbitrary presence
> or absence of a directory as the final element in the wildcard expansion.
> It would be much better to fail with an error indicating  "missing
> destination file operand" as it does if the first argument does not
> contain a wildcard.
> 
> Also, if a wildcard expansion contains exactly 2 elements, the second is
> treated as a target whether or not it is a directory, causing a potential
> overlay of data.

cp and mv have no fault. It's the shell that expends the wildcard, so cp and 
mv do not even see it; they just think they've been invoked with multiple 
arguments, and behave as expected.

-- 
D.




This bug report was last modified 14 years and 356 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.