シンプルなshebang

次のように書く。

,#!/usr/bin/env guile -s
,!#

2行目の !# も必要なことに注意。 bashなどのshebangにはそういうものはないがGNU Guileには必要。 閉じさせている感じだろうか…

メタスイッチ

どの関数をエントリーポイントとして呼び出すかについては -e で指定できる。 その -e の指定自体をshebangとして記述する場合、1行目はバックスラッシュを使う必要がある。

次のような記述となる。

#!/usr/bin/env guile \
-e main -s
!#

(define (main args)
  (map (lambda (arg) (display arg) (display " "))
       (cdr args))
  (newline))

https://www.gnu.org/software/guile/manual/html_node/The-Meta-Switch.html に詳しい解説がある。