使用来自终端的命令启动lein repl

use*_*410 8 shell clojure leiningen

我想编写一个shell脚本来启动lein repl,然后在保持repl运行的同时提供一些命令.

例如,我可能想要做相当于:

lein repl
(dev)
(setup)
Run Code Online (Sandbox Code Playgroud)

我可以管道到repl,echo "(dev)\n(setup)" | lein repl然后repl终止.

有没有办法绕过这个或另一种方法启动repl并从shell脚本发出命令?

xsc*_*xsc 9

(echo "(println :hello)"; cat <&0) | lein repl
Run Code Online (Sandbox Code Playgroud)

这将打印命令 - 让REPL处理它 - 然后"切换回"到标准输入以进行输入.但是,您可能必须cat在离开REPL后中断呼叫.