scalaでシェルスクリプトを書く
Scalaにオプションを渡す必要がない場合。
#!/usr/bin/env scala !# println("abc");
Scalaにクラスパスなどのオプションを渡す必要がある場合、シェルスクリプトの1行目(シェバング)にScalaの引数を渡せなかったので、しかたなく以下のように書いた。
#!/bin/sh # -*- scala -*- TMP_FILE=`mktemp /tmp/scala.XXXX.scala` cat <<EOF > $TMP_FILE println("abc"); EOF scala -cp クラスパス $TMP_FILE rm $TMP_FILE
2行目はEmacsで開いたときにScalaモードにするためのおまじない。mktempコマンドは安全に一時ファイルを生成するためのコマンド。
しかしScalaの起動に時間がかかりすぎるのがなんとかならないか。