Fork me on GitHub
#planck
<
2018-02-08
>
bmaddy15:02:48

Does anyone know how to get planck, deps.edn, and a shebang (`#!`) to work nicely together? The start of my file looks like this:

#!/usr/bin/env planck -c `/usr/bin/env clojure -Spath`
which I would expect to run planck -c src:/Users/bmaddy/.m2/repository/org/clojure..., but I think it's actually running this:
planck -c \`/usr/bin/env clojure -Spath\`
(where the backticks aren't evaluated)

bmaddy15:02:38

I think the problem is that env only allows one argument...

bmaddy15:02:11

Oh geez, I just need to use a helper bash script. That was silly.

#!/bin/bash

/usr/bin/env planck -c `/usr/bin/env clojure -Spath` my-script.cljs "$@"

mfikes18:02:19

Interesting @bmaddy, my guess is that backticks have no meaning when put in the shebang line

noisesmith18:02:54

I know that under linux the shebang line is sent directly to the program, without shell parsing - which means an attempt to send multiple arguments, or any shell substitution, results in the raw input including spaces backticks dollar signs etc. being sent directly to the program as a single unmodified argument

noisesmith18:02:01

OSX behaves differently

mfikes18:02:12

Ahh, right. There’s that too. I have a branch of Planck that will run the clojure tool on your behalf. That might make sense if helper scripts get to be too unwieldy.

bmaddy20:02:47

Having a helper script actually works out pretty well for me. Thanks for the thoughts though!