2012-09-06 20 views
21

Me gustaría leer el resultado de un comando de shell. El comando de shell que deseo leer se debe ejecutar desde una ubicación específica. (es git log).Ejecutar comando de shell en Clojure desde la ubicación específica

¿Hay una buena manera de hacer esto que no sea cd ing en el lugar, corriendo (clojure.java.shell/sh "git log"), y luego cd ing volver al directorio de trabajo?

Estoy buscando algún tipo de función (shell-at directory command). También se apreciaría una implementación simple de esta función. Mi experiencia con Clojure es mínima.

Respuesta

28

clojure.java.shell/sh admite una opción :dir para establecer el directorio de trabajo del sub-proceso:

(clojure.java.shell/sh "git" "log" :dir "/path/to/some/directory") 

Ver here.

+0

Perfecto. ¡Gracias! – MRocklin

Cuestiones relacionadas