From: Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM>
To: Supervision <supervision@list.skarnet.org>
Subject: Re: s6-log can create current with 640?
Date: Tue, 29 Oct 2019 07:28:18 +0000 [thread overview]
Message-ID: <a8fbd02e-0265-3d59-89d1-81048665693c@NTLWorld.COM> (raw)
In-Reply-To: <emc770afe0-6246-4b88-981d-ce474cade704@elzian>
Laurent Bercot:
> The real question is, why is there a "umask" binary that's not the one
> from execline? Non-chainloading non-builtin umask is nonsense, just
> like non-chainloading non-builtin cd.
Not quite. People find uses for these things, and as the SUS rationale
points out, for every potentially useless external equivalent of a
(non-special) built-in command someone has come up with an arcane actual
use for it. Even "cd".
*
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xcu_chap01.html#tag_23_01_07
* https://unix.stackexchange.com/q/50058/5132
The POSIX model is therefore that all non-special built-ins are also
available as executables; or, rather, that all of the standard utilities
that are not special built-ins are simply *available* (via execvp(),
find -exec, env, and *all of the other* ways that standard utilities can
be invoked), and whether they are built-in or not, to a shell or
otherwise, is an implementation detail as far as actually invoking the
utility is concerned. (Very few shells truly conform to this, but the
Watanabe shell largely does in its non-native mode.)
* https://unix.stackexchange.com/q/347188/5132
* https://unix.stackexchange.com/q/496259/5132
nosh, not being a shell, is not bound by this. Its built-ins are found
before a PATH search is enacted. So it actually does what M. Geraghty
mistakenly thought execline was doing. It finds its own built-ins in
preference to finding external commands; so invoking "umask" (without
directory name prefix) within a nosh script will always invoke the
built-in chain-loading one, irrespective of PATH. (Several of the
non-conformant shells do this, too, giving their built-ins unequivocal
precedence over a PATH search. Some even document this behaviour. But
it is not standard-conformant for a shell.)
* https://unix.stackexchange.com/a/496377/5132
* http://jdebp.uk./Softwares/nosh/guide/commands/exec.xml
execline always searches PATH. It does not have built-ins like nosh or
shells, in the first place. There's a quirk about when changes to PATH
take effect, and it does not quite have the POSIX semantics for when
PATH is not set, but other than that it actually has the POSIX model
behaviour: Commands are located using PATH, and what command one invokes
by the name "umask" is entirely determined by what PATH lists.
* https://unix.stackexchange.com/a/448799/5132
next prev parent reply other threads:[~2019-10-29 7:28 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-23 2:27 Dewayne Geraghty
2019-10-23 4:53 ` Colin Booth
2019-10-23 5:39 ` Dewayne Geraghty
2019-10-23 7:15 ` Jonathan de Boyne Pollard
2019-10-23 23:03 ` Dewayne Geraghty
2019-10-23 23:58 ` Laurent Bercot
2019-10-25 8:20 ` Dewayne Geraghty
2019-10-25 17:06 ` Guillermo
2019-10-26 1:52 ` Dewayne Geraghty
2019-10-26 5:27 ` Laurent Bercot
2019-10-26 7:16 ` Dewayne Geraghty
2019-10-26 13:08 ` Laurent Bercot
2019-10-29 7:28 ` Jonathan de Boyne Pollard [this message]
[not found] ` <a8fbd02e-0265-3d59-89d1-81048665693c@ntlworld.com>
2019-10-29 8:53 ` Laurent Bercot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a8fbd02e-0265-3d59-89d1-81048665693c@NTLWorld.COM \
--to=j.deboynepollard-newsgroups@ntlworld.com \
--cc=supervision@list.skarnet.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).