Scheme:OSやサーバに依存しないスクリプトを書く
スクリプトの最初の行
シェルトランポリンテクニックを使うのが吉(goshを例に
典型的なschemeスクリプトの最初の行
#!/usr/local/bin/gosh
でも、goshがサーバでは以下のようなパスにあると実行できない
/home/kobapan/usr/local/bin/gosh
そこで、
#!/bin/bash
#|
exec gosh -- $0 "$@"
|#
とやる。これで、goshがPATHにあるディレクトリの どこかにあれば起動できる。
#で始まる行は、bashではコメント扱い。
また、
シーケンス #| は複数行コメントの始まりを表す。 複数行コメントは |# が現れるまで続く。
- bash が exec gosh -- $0 "$@" を実行する
- bash から gosh にプロセスが引き渡される
- gosh は 引数にファイル名と、コマンド引数全部を持って実行される
- gosh はこのファイルを実行する際、複数行コメント内の exec 行を無視する
めでたし
CHICKEN の場合
#!/bin/bash
#| run a script on UNIX systems
exec csi -s "$0" "$@"
|#