Date: Tue, 05 Oct 1999 10:53:21 +0100 From: Tony Finch <fanf@demon.net> To: freebsd-questions@freebsd.org Subject: execve and #! arguments Message-ID: <E11YRHd-000ItM-00@fanf.eng.demon.net>
next in thread | raw e-mail | index | archive | help
The manual page says:
An interpreter file begins with a line of the form:
#! interpreter [arg]
When an interpreter file is execve'd, the system actually execve's the
specified interpreter. If the optional arg is specified, it becomes the
first argument to the interpreter, and the name of the originally
execve'd file becomes the second argument; otherwise, the name of the
originally execve'd file becomes the first argument. The original argu-
ments are shifted over to become the subsequent arguments. The zeroth
argument, normally the name of the execve'd file, is left unchanged.
but FreeBSD allows more than one arg on the #! line, and as far as I
can tell has done since before version 2.0. Other systems, including
NetBSD, Linux, Solaris, Irix, 386BSD, and 4.3BSD-Reno, implement what
the manual page says -- only one argument is passed from the #! line
to the interpreter.
Why the difference?
Tony.
--
f.a.n.finch dot@dotat.at fanf@demon.net
Apache Software Foundation Member
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E11YRHd-000ItM-00>
