bug-coreutils
[Top][All Lists]
Advanced

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

Re: avoid mkdir/selinux failure when mknod is a shell built-in


From: Jim Meyering
Subject: Re: avoid mkdir/selinux failure when mknod is a shell built-in
Date: Wed, 16 Apr 2008 19:12:30 +0200

Matthew Woehlke <address@hidden> wrote:

> Eric Blake wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> According to Jim Meyering on 4/16/2008 6:30 AM:
>> | My first reaction was "great! that looks much better".
>> | Unfortunately, the technique doesn't work with that shell:
>> |
>> |   openbsd$ ./mknod --version|head -1
>> |   mknod (GNU coreutils) 6.10.188-7cb24
>> |   openbsd$ PATH=. /bin/sh -c 'mknod --version'|head -1
>> |   /bin/sh: mknod: --: unknown option
>> |   /bin/sh: mknod: usage: mknod [-m mode] name [b | c] major minor
>> |   /bin/sh: mknod: usage: mknod [-m mode] name p
>>
>> That still uses a builtin.  You need an exec in the loop to force a PATH
>> search (even command, which bypasses functions, won't bypass builtins).
>> Or perhaps a forwarding command will help; do any of these work?
>>
>> $ /bin/sh -c '(exec mknod --version)' | head -1
>> $ /bin/sh -c 'nice mknod --version' | head -1
>> $ /bin/sh -c 'nohup mknod --version' | head -1
>
> I realize you already pushed something, but for the record, wouldn't
> env' work as well (and without the side effects)?

Ha!  Good call.
That's even better ;-)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]