#! in shell scripts
Erik E. Fair
fair at dual.UUCP
Tue Mar 6 12:41:19 AEST 1984
I have it on good authority that the #! kernel hack for making shell
scripts directly executable is a 32Vism. Since 4BSD is a 32V derivative,
it has it. Since System III and V are not 32V derivatives, they don't.
For the users of 4BSD systems: If you want to write Bourne Shell scripts,
go ahead. But if you ever have the notion to port them to USG Systems, or
V7 Systems, your scripts will fail for all users of csh, which assumes
that a shell script with `#' at the beginning is a csh script, and not
a sh script. Better that you do something like this:
: This comment line will do the right thing for all versions of UNIX,
: if you like Bourne Shell Scripts.
PATH=/foo/bar:/snafu/bin:/etc:; export PATH
and so on, ad nauseum.
Erik E. Fair
dual!fair at BERKELEY.ARPA
{ihnp4,ucbvax,cbosgd,decwrl,amd70,fortune,zehntel}!dual!fair
Dual Systems Corporation, Berkeley, California
More information about the Comp.unix
mailing list