目标:生成一个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的#| ... |#
语法。
答案 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!")