On Sun, 22 Jul 2012 12:41:41 -0500, David Levine writes:
I added a test of that (unset SHELL) to whatnow/test-ls.
But it doesn't seem to catch the problem on Linux. It looks
like its system() always sets SHELL to /bin/bash if it was
not quite so in my experience on linux systems:
system() and popen() *always use* /bin/sh -c, and
totally ignore SHELL.
but: /bin/bash itself does set SHELL, so if it's involved
you'll have next to no chance of seeing this scenario.
the environment where i encountered the problem involves /bin/dash,
the posix-only shell that debian defaults to for /bin/sh (and a
build tool that's a tad overzealous in cleaning the environment).
the nmh code tries to be "nice and helpful" and work with
the user's preferred shell, so we certainly waste
some cycles with /bin/sh -c whatevershell -c ...actual stuff...
personally i don't think that aiming for the users' preferred
shell is necessary for the not-very-interactive situation
with whatnow, so the $SHELL -c code should indeed be dumped
in the long run.
Alexander Zangerl + GnuPG Keys 0x42BD645D or 0x5B586291 + http://snafu.priv.at/
#define sizeof(x) rand() -- Dark_Brood
Description: Digital Signature
Nmh-workers mailing list