我在这里找到了很好的例子:http://hugoduncan.org/post/2010/shell_scripting_in_clojure_with_pallet.xhtml
但看起来这个“Pallet”并不像以前那样......它说“Pallet是云,服务器机架或虚拟机上基础设施的敏捷和程序化自动化平台.Pallet提供云提供商和操作系统独立,并允许前所未有的定制水平。“ - 这不是我想要的。我只需要shell脚本。
Clojure有什么相似之处吗?
答案 0 :(得分:6)
将clojure s表达式转换为shell脚本的Pallet部分称为 Stevedore ,它可作为单独的库提供:https://github.com/pallet/stevedore
托盘网站上Pallet和Stevedore的文档可能并不总是完整或准确(文档有点落后于当前代码),因此可能需要一些令人费解的。
出于好奇,你想在Clojure中做什么样的shell脚本?
答案 1 :(得分:3)
如果 Stevedore 对于您的特定情况而言似乎有些过分,您可以使用'lein-exec'Leiningen插件制作简单的clojure脚本并像任何shell脚本一样运行它们。
http://www.unexpected-vortices.com/clojure/brief-beginners-guide/standalone-scripts.html
答案 2 :(得分:1)
我只是偶然发现了该页面,我发现答案都已过时。
一个月前,Reddit用户didibus为r/Clojure:Scripting in Clojure, many great options!发布了出色的指南。
如果我在此处引用该指南中的一些内容,希望没问题:
我建议您查看Clojure的所有出色脚本编写选项:
- http://inlein.org/
- https://joker-lang.org/
- https://github.com/borkdude/babashka
- https://github.com/dundalek/closh
- https://github.com/anmonteiro/lumo
- https://planck-repl.org/
- https://gist.github.com/ericnormand/6bb4562c4bc578ef223182e3bb1e72c5
老实说,在我看来,脚本只是Clojure的一个已解决问题。这一点。可能还有太多好的选择。
然后,他们对大多数这些选项发表了相当广泛的评论。这是一本很好的指南,我建议您完整阅读。
我觉得自己the last option值得;在“普通的Clojure”中编写Shell脚本并通过the Clojure CLI tools运行它是一种聪明的技术。