[patch] rc.d/tmp (silly mkdir usage)
Joerg Sonnenberger
joerg at britannica.bec.de
Tue Aug 2 13:25:58 GMT 2005
On Tue, Aug 02, 2005 at 04:08:12PM +0300, Vasil Dimov wrote:
> On Tue, Aug 02, 2005 at 01:15:35PM +0200, Joerg Sonnenberger wrote:
> > On Tue, Aug 02, 2005 at 02:06:32PM +0300, Vasil Dimov wrote:
> > > On Tue, Aug 02, 2005 at 12:52:34PM +0200, Dario Freni wrote:
> > > > Vasil Dimov wrote:
> > > > > Even we can use
> > > > > if [ -d /tmp -a -w /tmp ] ; then
> > > > > or (which is equivalent)
> > > > > if [ -d /tmp ] && [ -w /tmp ] ; then
> > > > > and save external commands (mkdir) execution and directory
> > > > > creation/deletion at all.
> > > >
> > > > You can't use test -w here. The script is checking if there is a
> > > > read-only filesystem. -w checks only the file flags (according to the
> > > > man page, at least).
> > > >
> > > That's correct, -w cannot be used to check read-only filesystem.
> >
> > Actually, you can. That's not portable behaviour though.
> >
>
> Well, look what I discovered:
As I said, it is not portable.
>
> # mount |grep read-only
> /usr/ports on /mnt/ar0s2d/usr/ports5 (nullfs, local, read-only)
> # sh -c '[ -w /mnt/ar0s2d/usr/ports5 ] && echo writeable'
> # bash -c '[ -w /mnt/ar0s2d/usr/ports5 ] && echo writeable'
> writeable
I'd say this is a bug in the bash builtin :-)
Joerg
More information about the freebsd-hackers
mailing list