Подтвердить что ты не робот

Запустить команду оболочки в Clojure из определенного места

Я хотел бы прочитать вывод команды оболочки. Команда оболочки, которую я хочу прочитать, должна запускаться из определенного места. (это git log).

Есть ли хороший способ сделать это, кроме cd ing в местоположение, запустив (clojure.java.shell/sh "git log"), а затем cd вернуться в рабочий каталог?

Я ищу какую-то функцию (shell-at directory command). Было бы также оценено простую реализацию этой функции. Мой опыт работы с Clojure минимален.

4b9b3361

Ответ 1

clojure.java.shell/sh поддерживает параметр :dir для установки рабочего каталога подпроцесса:

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

Смотрите здесь.