Gaucheプログラミング(立読み版) > 第2部: 実用 > Schemeスクリプトを書こう > Schemeスクリプトを書く


[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

Schemeスクリプトを書く 応援する

Schemeソースファイル名を引数に与えて、シェルからgoshコマンドを起動するとそのソースファイルを読み込んでGaucheが起動できます。

例:

 $ gosh Schemeソースファイル名

例えばhello.scmというファイルに次の式を書いておきます。

 (print "Hello, Gauche!")

シェルからhello.scmをgoshコマンドの引数に与えてGauche処理系に読み込ませるとファイルに書かれた式が評価されます。

例:

 $ cat hello.scm    ;; hello.scmの内容を印字
 (print "Hello, Gauche!")
 
 $ gosh hello.scm   ;; hello.scmをGaucheに読み込ませ評価させる
 Hello, Gauche!

goshコマンドの引数にスクリプトファイル名を与えるのではなくスクリプトファイルを直接実行する

GaucheではなくUNIXの仕様として、スクリプトファイルの最初の行に次の記述をしてそのまま起動することができます。

#!/usr/local/bin/gosh

#!記号に続いてgoshコマンドの絶対パスを書きます。goshコマンドの絶対パスはGaucheのインストール方法によって異なります。

スクリプトファイルを実行するには実行パーミッションを与える必要があります。

例えば、次の内容をファイル名helloで保存して実行パーミッションを与えてみます。

#!/usr/local/bin/gosh

(print "Hello, Gauche!")

実行パーミッションを与えるにはchmodコマンドを使います。

例:

 $ chmod 0755 hello

実行パーミッションを与えたので、helloスクリプトファイルはそのまま実行できます。

 $ ./hello
 Hello, Gauche!

最初の行は次の書式で書くこともできます。

#!/usr/bin/env gosh

この書き方をするにはenvコマンドの絶対パスを知っている必要があります。この書き方をしないなら前の例に示した通りgoshコマンドの絶対パスを知っている必要があります。

より実用的なスクリプトを書くには?

#!/usr/local/bin/gosh

(print "Hello, Gauche!")

今まで例にあげたこんなスクリプトでもとりあえず動作しますが、より実用的なスクリプトを書くにはmain手続きを書くのが一般的です。

例:

#!/usr/local/bin/gosh

(define (main args)
 (print "Hello, Gauche!")
 0
)

main手続きについては「コマンドライン引数の値を得る」で説明します。


[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

このサイトについて|ヘルプ|Q&A|個人情報保護|プライバシーポリシー|利用規約|コメント・トラックバック規約|削除規程|広告掲載
Copyright (c) 2005-2007 Time Intermedia Corporation