kobapan@wiLiki
Login
Scheme

Scheme:OSやサーバに依存しないスクリプトを書く

目次

スクリプトの最初の行

シェルトランポリンテクニックを使うのが吉(goshを例に

典型的なschemeスクリプトの最初の行

#!/usr/local/bin/gosh

でも、goshがサーバでは以下のようなパスにあると実行できない

/home/kobapan/usr/local/bin/gosh

そこで、

#!/bin/bash
#|
exec gosh -- $0 "$@"
|#

とやる。これで、goshがPATHにあるディレクトリの どこかにあれば起動できる。

#で始まる行は、bashではコメント扱い。

また、

シーケンス #| は複数行コメントの始まりを表す。 複数行コメントは |# が現れるまで続く。

SRFI 30: ネスト可能な複数行コメント

  1. bash が exec gosh -- $0 "$@" を実行する
  2. bash から gosh にプロセスが引き渡される
  3. gosh は 引数にファイル名と、コマンド引数全部を持って実行される
  4. gosh はこのファイルを実行する際、複数行コメント内の exec 行を無視する

めでたし

CHICKEN の場合

#!/bin/bash
#| run a script on UNIX systems
exec csi -s "$0" "$@"
|#

Debian
Emacs
Firefox
Gauche
JavaScript
Linux
Scheme
org-mode/latex

More ...