bug#15926: RFE: unlink command already uses 'unlink' call; make 'rm' use (original) (raw)


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


From: Bernhard Voelker
Subject: bug#15926: RFE: unlink command already uses 'unlink' call; make 'rm' use 'remove' call
Date: Wed, 20 Nov 2013 07:45:55 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130329 Thunderbird/17.0.5

On 11/20/2013 03:19 AM, Eric Blake wrote:

Yes, the 'rm -rf .' case appears to be a regression in coreutils that is contrary to the behavior required by POSIX. That is:

$ mkdir /tmp/foo /tmp/foo/sub $ cd /tmp/foo $ rm -r . rm: cannot remove directory: ‘.’ $ ls sub

appears to be a bug in current coreutils, because it should have successfully called rmdir("sub") prior to failing on the attempt to rmdir(".").

I disagree: see at the top of:

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/rm.html

If either of the files dot or dot-dot are specified as the basename portion of an operand (that is, the final pathname component) or if an operand resolves to the root directory, rm shall write a diagnostic message to standard error and do nothing more with such operands.

Maybe "cannot remove directory" is a bit weak - it's more like "refusing to remove dot|dot-dot|root directory".

Have a nice day, Berny