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 ...