Email list hosting service & mailing list manager


Posix is silent; Open Group is silent; feature is SVR4 & 4.3+BSD shivers@xxxxxx 21 Mar 2001 20:14 UTC

I've done some language-lawyering for this discussion.

I have sitting beside me the ISO/IEC 9945-1 ANSI/IEE Std 1003.1,
second edition 1996-07-12 Portable Operating System Interface (POSIX),
Part 1: System Application Program Interface (API) [C Language].

I have just looked up the exec syscalls. The spec says absolutely nothing
about #!. It's not a Posix feature.

The next level up the LCD chain seems to be the "Single (Unix) Spec."
Bengt checked it; I just rechecked it. It is also silent. Oh-kay.

I have subsequently checked Stevens. He claims (section 8.11) that
the "interpreter file" #! feature is SVR4 & 4.3BSD. He goes on to say that

    - "The space between the exclamation point and the pathname is optional."

    - "Be aware that many systems have a limit of 32 characters for the first
      line of an interpreter file. This includes the #!, the pathname, the
      optional argument, and any spaces."

The first point says that Marc's trick of separating #! and the interpreter
with a space should work, and is reasonably standard. (The union of SVR4 &
BSD is pretty broad.)

But the second point says that you better not count on > 32 chars, so making
the space *required* is painful.
    -Olin