Size: a a a

Clojure — русскоговорящее сообщество

2021 October 19

AG

Anton Gorobets in Clojure — русскоговорящее сообщество
Я просто получил, то что мне надо через process но мне кажется, можно сделать через sh это
источник

IS

Ilshat Sultanov in Clojure — русскоговорящее сообщество
я делал так :requires ([babashka.process :as proccess])

в блоке :init
(do
  (defn execute [command]
  (-> command (process/tokenize) (process/process) :out slurp str/trim-newline))
   
    (def -build-number (execute "git rev-list HEAD --count")))

и потом в тасках использовал -build-number
источник

IS

Ilshat Sultanov in Clojure — русскоговорящее сообщество
может поможет, описывал babashka tasks в bb.edn
источник

IS

Ilshat Sultanov in Clojure — русскоговорящее сообщество
источник

IS

Ilshat Sultanov in Clojure — русскоговорящее сообщество
может что пригодится
источник

AG

Anton Gorobets in Clojure — русскоговорящее сообщество
о спасибо! Сейчас посмотрю
источник

AG

Anton Gorobets in Clojure — русскоговорящее сообщество
да, через sh вроде работает, но не до конца

{:task (println (sh "uname"))} выдает мапу, а вот

{:task (println (sh "uname -a"))} выдает еррор

Type:     java.io.IOException
Message:  Cannot run program "uname -a": error=2, No such file or directory
источник

ND

Nikita Domnickij in Clojure — русскоговорящее сообщество
"uname" "-a"
источник

AG

Anton Gorobets in Clojure — русскоговорящее сообщество
о точно! Спасибо!
источник

AG

Anton Gorobets in Clojure — русскоговорящее сообщество
А все таки, как предпочтительнее, для скрипта в бабашке юзать sh или process?
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
sh - это же шелл запускается и у него там параметры разные
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
а процесс - это запуск своего процесса, насколько я помню.
источник

AG

Anton Gorobets in Clojure — русскоговорящее сообщество
Ну я просто так понял, что sh тоже как отдельный процесс запускается. Или это я уже совсем запутался просто в этих sh и shell бабашки
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
шелл - штука системаная, и например, она не всегда может быть bash'ем
источник

IS

Ilshat Sultanov in Clojure — русскоговорящее сообщество
источник

IS

Ilshat Sultanov in Clojure — русскоговорящее сообщество
под капотом process запускается с :inherit
источник

AG

Anton Gorobets in Clojure — русскоговорящее сообщество
`(defn execute [command]
               (-> (proc/process command) :out slurp str/trim-newline))`

Вот то что надо, короче, спасибо)
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
А там в :out всегда строка или можно, чтобы InputStream был?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
:out  => sub-process's stdout (as byte[] or String)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
там 15 строк исходника, можно самому переколбасить по своему
источник