user2936410
user2936410

Reputation: 133

Start lein repl with commands from the terminal

I would like to write a shell script to start a lein repl and then provide some commands while still keeping the repl running.

For example I might want to do the equivalent of:

lein repl
(dev)
(setup)

I can pipe to the repl by echo "(dev)\n(setup)" | lein repl but the repl terminates afterwards.

Is there a way to get around this or another means of starting a repl and issuing commands from a shell script?

Upvotes: 10

Views: 1920

Answers (1)

xsc
xsc

Reputation: 6073

(echo "(println :hello)"; cat <&0) | lein repl

This prints the command - letting the REPL process it -, then "switches back" to stdin for input. You might have to interrupt the cat call after leaving the REPL, though.

Upvotes: 14

Related Questions