cvs commit: src/bin/sh options.c

Pawel Jakub Dawidek pjd at FreeBSD.org
Wed Feb 16 08:20:08 GMT 2005


On Wed, Feb 16, 2005 at 05:17:58AM +0000, Garance A Drosehn wrote:
+> gad         2005-02-16 05:17:58 UTC
+> 
+>   FreeBSD src repository
+> 
+>   Modified files:
+>     bin/sh               options.c 
+>   Log:
+>   Change /bin/sh so *it* implements the processing needed for scripts to
+>   work as expected when they have a "shebang line" of:
+>   
+>        #!/bin/sh -- # -*- perl -*- -p
+>   
+>   This specific line is recommended in some perl documentation, and I think
+>   I've seen similar lines in documentation for ruby and python.  Those
+>   write-ups expect `sh' to ignore everything after the '--' if the first
+>   thing after the '--' is a '#'.  See chapter 19, "The Command-Line Interface"
+>   in 3rd edition of "Programming Perl", for some discussion of why perl
+>   recommends using this line in some circumstances.
+>   
+>   The above line does work on solaris, irix and aix (as three data points),
+>   and it used to work on FreeBSD by means of a similar patch to execve().
+>   However, that change to execve() effected *all* shells (which caused
+>   other problems), and that processing was recently removed.

Thank you!

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd at FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-all/attachments/20050216/f1057862/attachment.bin


More information about the cvs-all mailing list