4 ms·
I recommend Greg's Bash Wiki ... https://mywiki.wooledge.org/BashGuide https://mywiki.wooledge.org/BashGuide. See general notes, then at the bottom of the page
by nwatson 8y ago
I recommend Greg's Bash Wiki ... https://mywiki.wooledge.org/BashGuide https://mywiki.wooledge.org/BashGuide. See general notes, then at the bottom of the page are many links to additional considerations.
Like others say, "bash" is a hard tool to get right (and I'm not saying I do it right either, necessarily, but Greg's Wiki was real helpful!). I'm building a hybrid bash/python3 environment now (something I'll hopefully open-source at some point), and bash is just the "glue" to get things set up so most aspects of development can funnel through to python3 + other tools.
But ... things that make bash real useful:
* it's available everywhere (even in Windows with Ubuntu-18.04/WSL subsystem)
* it can bootstrap everything else you need
* it can wrap, in bash functions, aliases, and "variables" (parameters), the
real functionality you want to expose ... the
guts can be written in python3 or other tools
Without a good bash bootstrap script you end up writing 10 pages of arcane directions for multiple platforms telling people to download 10 packages and 4 pieces of software per platform, and nobody will have consistent reproducible environments.
EDIT: I think there's a revised version of Greg's Bash Wiki in the works.
- AnIdiotOnTheNet 8y agoOr you just bundle your application and its dependencies into a single folder for each OS and distribute it.
- dorfsmay 8y agoIt is availbale, almost, everywhere but be careful with the version, different Linux diatros are at different versions, the last time I used OSX it was stuck on a very old version, and I expect the different BSD OSes to run fairly new versions.
- int_19h 8y agoBSDs don't ship Bash as part of the base system - you have to install it from packages or ports. And that one is the most recent that the maintainer bothered to package. E.g. FreeBSD is on 4.4.23 right now, which actually appears to be newer than e.g. Debian unstable.