Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Any way to allow clobbering empty files when noclobber is set?



Vin Shelton wrote on Wed, 03 Jun 2020 22:13 -0400:
> What is the significance of a 0-length file as opposed to a file with
> contents?

There _are_ some cases where a 0-length file is treated differently to
a non-existing one:

- .vimrc
- «cat foo» (also #include's in C)
- GNU make(1)'s lookup order: GNUmakefile / Makefile / makefile
- /etc/nologin

> If we want to support this feature, why don't we change the meaning of
> NO_CLOBBER to mean only non-empty files?

Because users might be relying on the semantics that the documentation
promises.

For example, a user who does «echo foo > /etc/nologin» and doesn't get
an error may infer that it's fine to delete the file once they finish
whatever change they're working on.  Keeping the error would alert that
user that they shouldn't remove the file when they're done (and, most
likely, should pause to coordinate with whoever created /etc/nologin
before them).

Cheers,

Daniel


>   - Vin
> 
> On Wed, Jun 3, 2020 at 8:05 AM Peter Stephenson <p.stephenson@xxxxxxxxxxx>
> wrote:
> 
> > Martin Tournoij wrote:
> > > I switched from tcsh to zsh a while ago (many years too late, I know),
> > > and found zsh can do pretty much everything better. There's one thing
> > > I rather miss though: the 'notempty' option in 'noclobber'.
> >
> > This isn't actually hard to implement.  What does everyone else think?
> >
> > pws
> >



Messages sorted by: Reverse Date, Date, Thread, Author