The `clojure` command just loads your script – it doesn’t call -main – if you 
had

      ;; test.clj
      (println “Loaded!”)

And you ran `clojure test.clj` then it would print Loaded!

So you could do:

      #!/usr/bin/env clojure
      (println (str “Hello, “ (first *command-line-args*)))

(the clojure.main/main function binds the command line arguments to that var)

This works on OS X – I haven’t tried it on Linux.

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

________________________________
From: clojure@googlegroups.com <clojure@googlegroups.com> on behalf of Delon 
Newman <ikt...@gmail.com>
Sent: Thursday, January 4, 2018 3:26:43 PM
To: Clojure
Subject: Advice on Shell Scripting with new "clojure" binary

How do I get command line arguments in a Clojure shell script using the new 
"clojure" binary?

So for a file like:


# file-name: hello
#!/usr/bin/env clojure

(defn -main [name]
   (println (str "Hello, " name)))

and execute it like:

./hello John

the "-main" function is not executed. Is there another method?

Also, any additional advice with respect to using Clojure for shell scripting 
would be appreciated.

Thanks!

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
clojure+unsubscr...@googlegroups.com<mailto:clojure+unsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to