カジュアルにClojureのファイルを実行する
Leiningenは便利だけども、プロジェクトを作らないと実行できないのがたまに面倒くさい。 そこで、ここを参考に実行用のファイルを作ってみた。
その1
Leiningenはclojure本体を~/.m2/repository/org/clojure/clojure/1.6.0/clojure-1.6.0.jar
に持ってくるので、、
こんな感じのファイルを~/bin/clj
とでも名付けて(実行可能にして)置いた。
#!/usr/bin/env sh exec java -cp ~/.m2/repository/org/clojure/clojure/1.6.0/clojure-1.6.0.jar clojure.main $1
こんなノリで実行できる。
clj hoge.clj
その2
ちょいと調べてみたら、lein-execなるLeiningenのプラグインが見つかった。
~/.lein/profiles.clj
のプラグインベクタに[lein-exec "0.3.4"]
を追加してあげる(バージョンは変わりうる)。
これで実行できる。
その1のやつと違って~/.m
以下のモジュールにパスが通っている感ある。
lein exec hoge.clj
欠点として、起動が少し遅いのと、コマンド入力時にファイル名が補完できない点がある。
起動が遅いのは諦めるとして、ファイル名補完は上の戦法をパクることで解決した。
~/bin/clj
を次のように書き換えただけ。
#!/usr/bin/env sh exec lein exec $1
ひとまずこれで良さそうな気がする。 実際にこれを使うかは全く予想がつかない(たぶん使わない気がするw)。