Date: Mon, 14 Aug 1995 17:45:44 +0200 From: Wolfram Schneider <wosch@cs.tu-berlin.de> To: Garrett Wollman <wollman@halloran-eldar.lcs.mit.edu> Cc: current@freebsd.org Subject: make(1) extension for SHELL COMMANDS Message-ID: <199508141545.RAA13872@caramba.cs.tu-berlin.de> In-Reply-To: <9508141535.AA11245@halloran-eldar.lcs.mit.edu> References: <199508132144.XAA25996@localhost> <9508141504.AA11190@halloran-eldar.lcs.mit.edu> <199508141513.RAA12434@caramba.cs.tu-berlin.de> <9508141535.AA11245@halloran-eldar.lcs.mit.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Garrett Wollman writes:
><<On Mon, 14 Aug 1995 17:13:36 +0200, Wolfram Schneider <wosch@cs.tu-berlin.de> said:
>
>>> Very bad idea, and almost certainly contrary to P1003.2.
>
>> What says P1003.2 about /bin/sh?
>
>It's not what it says about the Bourne Shell that's relevant here,
>it's what it says about the `make' program. In particular, it says
>that all commands are to be executed by means of `/bin/sh -c'.
pmake use /bin/sh -c or /bin/sh -ec
if (*cp != '\0') {
/*
* If *cp isn't the null character, we hit a "meta" character and
* need to pass the command off to the shell. We give the shell the
* -e flag as well as -c if it's supposed to exit when it hits an
* error.
*/
static char *shargv[4] = { "/bin/sh" };
shargv[1] = (errCheck ? "-ec" : "-c");
shargv[2] = cmd;
shargv[3] = (char *)NULL;
av = shargv;
argc = 0;
} else {
/*
* No meta-characters, so no need to exec a shell. Break the command
* into words to form an argument vector we can execute.
* brk_string sticks our name in av[0], so we have to
* skip over it...
*/
av = brk_string(cmd, &argc, TRUE);
>Well, that's yet another way in which pmake is broken with respect to
>POSIX. I'm not at all surprised to hear it. We don't need to make
>the situation even worse than it already is.
Is POSIX a religion? I want a good OS ...
-Wolfram
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199508141545.RAA13872>
