This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-06-13
Channels
- # beginners (36)
- # boot (1)
- # cider (4)
- # cljsrn (2)
- # clojure (137)
- # clojure-brasil (3)
- # clojure-czech (3)
- # clojure-italy (17)
- # clojure-nl (8)
- # clojure-spec (7)
- # clojure-uk (153)
- # clojurescript (84)
- # data-science (2)
- # datascript (13)
- # datomic (30)
- # editors (64)
- # emacs (22)
- # events (6)
- # figwheel (26)
- # fulcro (7)
- # hoplon (5)
- # jobs (5)
- # jobs-discuss (57)
- # keechma (3)
- # leiningen (4)
- # luminus (1)
- # midje (2)
- # off-topic (26)
- # portkey (18)
- # re-frame (4)
- # reagent (10)
- # ring-swagger (3)
- # shadow-cljs (135)
- # spacemacs (5)
- # sql (14)
- # tools-deps (125)
Bash scripting is a somewhat subtle art. I've written a highly opinionated guide: https://github.com/pesterhazy/blissful-bash. Feedback welcome
Interesting, didn't know about that one
"If set, any trap on ERR is inherited by shell functions, command substitutions, and commands executed in a subshell environment. The ERR trap is normally not inherited in such cases."
https://github.com/anordal/shellharden/blob/master/how_to_do_things_safely_in_bash.md
Yes, it's different, -e
applies across the board, -E
makes sure traps are passed on to subshells
https://stackoverflow.com/questions/35800082/how-to-trap-err-when-using-set-e-in-bash#35800451
set -x
can also be useful for debugging
btw, one tool that definitely raised my game is https://www.shellcheck.net/ - just running that and understanding the warnings/errors really improved my bash
https://github.com/soc/directories-jvm/blob/master/README.md this makes placing dotfiles so easy for tools.
another option I thought of was a shared library, which might be possible since we could target JS + JVM
the other option is just to add all of this biz logic to the data layer... which feels bad too