Subject: Re: bug#12339: [PATCH] rm: avoid bogus diagnostic for a slash-decorated symlink-to-dir

From: "Linda A. Walsh" <[email-masked]>
Date: Tue, 04 Sep 2012 18:55:52 -0700

Paul Eggert wrote:
> On 09/04/2012 04:21 PM, Linda A. Walsh wrote:> Paul Eggert wrote:
>
>   
>> expecting it to do nothing useful other than issue an error?
>>     
>
> Sure.  People might expect the utility to complain about
> what they consider to be obvious typos, rather than to
> remove files they don't expect to be removed.  For example:
>
>   rm -fr .*
>
> safely removes all file names beginning with "." in the
> working directory, without inadvertently removing file names
> that do not begin with ".", or files in the parent
> directory.  I can see people being used to this sort of
> thing, and being annoyed greatly if we change it.
>   
----
   i wouldn't regard that as safe.

I always use rm -fr .[^.]*

Why is that interfaces must sync to the lowest level.

unix was NOT supposed to be that way.

>   
>> Ok, will foo/ remove the contents only and not the directory?
>>     
>
> No, "rm -fr foo/" removes the directory too.
>   
So how do delete all files in the directory without wild cards?

(as you don't know how or if they will be expanded).

(only VERY recently has bash included "." in "*" -- it used to be 
ignored and
still is if you have flags set to ignore it.

Shells don't consistently expand wildcards, and the OS doesn't expand them
at all (i.e. when passed in 'exec')...

This is what I mean about useful features being removed in order to dumb 
down
the interface -- as dir/" also tries to remove the dir... which isn't
likely to work on a mount point.