[TUHS] Shell control through external commands
arnold at skeeve.com
arnold at skeeve.com
Sun Sep 11 15:01:49 AEST 2016
Dave Horsfall <dave at horsfall.org> wrote:
> On Sat, 10 Sep 2016, arnold at skeeve.com wrote:
>
> > I think that the way the shell "recognized" scripts was by having exec
> > fail, otherwise how would it know? I think we'll have to go grubbing in
> > the source archives to be sure.
>
> Correct; if the exec failed then the invoking shell assumed that it was a
> shell script, and spawned a shell to run it.
I think this happened in the "spawned" shell - so the exec would fail and
then this child shell would just run the script.
if ((pid = fork()) != 0)
wait for pid
else {
/* in the child */
exec /path/to/program
if (errno == ENOEXEC) /* or whatever it is, I don't remember */
interpret the script directly
}
Arnold
More information about the TUHS
mailing list