Skip to content

Instantly share code, notes, and snippets.

@mfikes
Created December 10, 2015 03:13
Show Gist options
  • Save mfikes/afad849c9a98e37a1a7b to your computer and use it in GitHub Desktop.
Save mfikes/afad849c9a98e37a1a7b to your computer and use it in GitHub Desktop.
Using Planck shell support

Planck's shell support is modelled after clojure.java.shell. And, in particular, the command is separated from its arguments.

Here is an example sequence in a Clojure REPL illustrating this:

user=> (require 'clojure.java.shell)
nil
user=> (clojure.java.shell/sh "lein version")

IOException error=2, No such file or directory  java.lang.UNIXProcess.forkAndExec (UNIXProcess.java:-2)
user=> (clojure.java.shell/sh "lein" "version")
{:exit 0, :out "Leiningen 2.5.3 on Java 1.8.0_45 Java HotSpot(TM) 64-Bit Server VM\n", :err ""}

The analog in Planck:

cljs.user=> (require 'planck.shell)
nil
cljs.user=> (planck.shell/sh "lein version")
{:exit -1, :out nil, :err "launch path not accessible"}
cljs.user=> (planck.shell/sh "lein" "version")
{:exit 0, :out "Leiningen 2.5.3 on Java 1.8.0_45 Java HotSpot(TM) 64-Bit Server VM\n", :err ""}
cljs.user=> 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment