Clojure中的多线shebang?

时间:2011-03-08 01:19:06

标签: clojure multiline main comments shebang

目标:生成一个Clojure脚本,在-main运行时运行./script.clj

我最接近的是

#!/bin/bash
#(comment
exec clj -m `basename $0 .clj` ${1+"$@"}
exit
#)
(defn -main [args]
   (println args))

但是Clojure不允许在多行注释中使用非Lisp代码,而Clojure没有Common Lisps的#| ... |#语法。

2 个答案:

答案 0 :(得分:6)

语法模糊,但它有效。来自Wikibooks

$ ./hello.clj Fred
Hello Fred!

":";exec clj -m `basename $0 .clj` ${1+"$@"}
":";exit

(ns hello
    (:gen-class))

(defn -main
    [greetee]
    (println (str "Hello " greetee "!")))

答案 1 :(得分:0)

Clojure CLI可用后,请使用

#! /usr/bin/env clj

(println "Hello World!")