clojure.java.shell
просто порождает процесс с заданными аргументами (а :env
и :dir
и ... - см. Документ).Поэтому, прежде всего, скорее всего, нет cmd
в OSX / Unix, но обычно есть оболочка.И "то же самое", что и cmd /c
на оболочке -c
.-c
принимает один аргумент, и вы можете написать свой «код оболочки» - это означает, что вы можете использовать каналы, перенаправления, env-vars, ... - так что если вы просто хотите запустить инструмент спараметр, используйте:
(sh "mged" "test".g")
Если вы хотите использовать «функции оболочки», используйте:
(sh "/bin/sh" "-c" "echo ${TERM} | tr x u")
(обратите внимание, что «код оболочки» - это всего лишь один аргумент)