You are looking at historical revision 30334 of this page. It may differ significantly from its current revision.

Writing portable scripts

To write scripts that don't require to specify the full path to csi, the following technique might be useful:

 #! /bin/sh
 #|
 exec csi -s "$0" "$@"
 |#

Another approach would be to have a trampoline script that invokes csi with these contents:

 % cat runscheme
 #!/bin/sh
 exec csi -s $*

and use this header in your scheme script:

 #!/usr/bin/env runscheme
 ...

It should be noted that the following would not be portable

 #!/usr/bin/env csi -s

Because POSIX only requires the shebang command to accept one parameter (csi in this case) and -s might be ignored.