私は次のコードで名前が付けられたhaskellでスクリプトを書きましたtestscript
:
#!/usr/bin/env runhaskell
main = putStrLn "hello"
スクリプトを実行可能にした後、を使用して実行できます./testscript
。ただし、ghciを使用して(つまり、を使用して:l testscript
)スクリプトを読み込もうとすると、エラーが発生します。
target `testscript' is not a module name or a source file
名前をに変更testscript
してtestscript.hs
、もう一度ghciでロードしようとすると、エラーが発生します
testscript.hs:1:0: error: invalid preprocessing directive #!
phase `C pre-processor' failed (exitcode = 1)
シバンラインを削除すると正常に動作します。ただし.hs
、スクリプトに拡張機能を追加し、一番上の行を削除してから、.hs
拡張機能を削除し、ghciでスクリプトを試すたびにシバン行を追加するのは面倒です(これは、変更を加えるたびにかなり一般的です)それに)。これを行う簡単な方法はありますか?
Mac OSX10.6.8でghcバージョン7.0.3を使用しています