bb scripts
1.0.0
Babashka腳本的開發孵化器。這是我在Clojure開發腳本的地方,然後與Babashka一起運行它們。
我在巴巴什卡(Babashka)撰寫了有關編寫劇本的演講。幻燈片在這裡。
$PATH
類似於事物。env
一樣打印出環境,但它掩蓋了它認為是私人的變量(如SLACK_TOKEN
)。如果您只想使用其中一個腳本,只需從Uberscripts目錄中下載它,然後將其放入$PATH
上的目錄。
BBIN是使用一個命令安裝Babashka腳本的好方法。
當回購(像這樣)支持多個腳本時,它尚未支持選擇您想要的腳本,因此請使用以下語法(提供--main-opts
和--as
):
bbin install io.github.justone/bb-scripts --main-opts '["-m" "empath"]' --as empath
有關更多選項,請參閱BBIN文檔。
在開始開發之前,您應該在路徑上安裝以下內容:
bb
clojure
要創建一個腳本,您需要創建兩個文件。例如,要創建一個名為foo
的新腳本,請創建以下文件:
script/foo
巴巴什卡開發人員
#!/usr/bin/env bb
(require '[babashka.deps :as deps])
(deps/add-deps '{:deps {justone/bb-scripts {:local/root "."}}})
(require '[foo])
(when (= *file* (System/getProperty "babashka.file"))
(apply foo/-main *command-line-args*))
src/foo.clj
腳本的clojure源
(ns foo)
(defn -main [& args]
(println "foo"))
使用clojure -X:clj:repl
。這將使NREPL和Prepl端口用於編輯器集成。這允許完全迭代的重型驅動開發。
要測試整個腳本,請使用以下任何一個:
./script/foo [args]
- 在巴巴什卡(Babashka)測試運行clojure -M:clj -m foo [args]
- 在Clojure中測試運行與Babashka進行測試:
bb test
用Clojure進行測試:
clojure -M:clj:test
Babashka可以將腳本使用的所有名稱空間組合到一個名為Uberscript的文件中。 ./scripts/uberscriptify
中有一個腳本,將其與適當的標頭結合在一起。要從foo
腳本創建Uberscript,只需運行:
./scripts/uberscriptify --script foo
並且結果文件將在uberscripts/foo
中。