Comment by snprbob86
15 years ago
I recently switched from various settings.yml files to a bash script. I can't believe I hadn't made the move sooner! Such a huuuge improvement.
A few good reasons:
1) Language agnostic -- I can use common configuration for Ruby, Node.js, Makefiles, Bash scripts, etc. Without having to find/use a parser for my config file settings, nor worrying about executing a Ruby script from a Python process, or whatever.
2) Real programming constructs -- I can easily test a boolean condition, interpolate variables, and otherwise minimize copy/paste between configuration sections.
3) Available at bootstrap -- Don't need to install Ruby or Python or anything like that. The very first scripts I run can use the environment without compromise. Particularly useful because machines are bootstrapped with Makefiles, which play well with the environment.
I modeled my app env script on the behavior of the `env` command (in fact, I delegate to it). See an example script in this gist:
https://gist.github.com/1388478
Note the examples. By delegating to `env`, you get a few features for free:
1) Executing any process within the environment
2) Passing additional environment variables on the command line
3) Printing of environments (great for diffing!)
No comments yet
Contribute on Hacker News ↗