Bash-lib: Library for bash utility methods and tools
1–10 of 25 posts
Re: Bash-lib: Library for bash utility methods and tools
#2(If you had told me in 2001 that Javascript would have had NPM and bash not, I would not have believed you.)
Re: Bash-lib: Library for bash utility methods and tools
#3Re: Bash-lib: Library for bash utility methods and tools
#4We need a Bash package manager and global repo now! (If you had told me in 2001 that Javascript would have had NPM and bash not, I would not have believed you.)
> You can install shell scripts globally (on /usr/local/bin) or use them on a per-project basis (on ./deps/), as a lazy-man "copy and paste".
---
Also bash-lib is using bats (Bash Automated Testing System) for verification, which is un-maintained and has been forked should anybody be interested https://github.com/bats-core/bats-core
Re: Bash-lib: Library for bash utility methods and tools
#5We need a Bash package manager and global repo now! (If you had told me in 2001 that Javascript would have had NPM and bash not, I would not have believed you.)
The whole point of bash is that it’s ubiquitous: be it an air-gapped embedded system, a recovery image or a full desktop environment, you can count on it having either bash or something reasonably close, no strings attached.
Introducing a Rube Goldberg package manager would go against this.
Re: Bash-lib: Library for bash utility methods and tools
#6We need a Bash package manager and global repo now! (If you had told me in 2001 that Javascript would have had NPM and bash not, I would not have believed you.)
If you can afford using a package manager then you can afford using something more sophisticated than bash. The whole point of bash is that it’s ubiquitous: be it an air-gapped embedded system, a recovery image or a full desktop environment, you can count on it having either bash or something reasonably close, no strings attached. Introducing a Rube Goldberg package manager would go against this.
Instead of a bewildering array of case/if statements for each architecture/distro in every script, the package manager stores and deploys the platform-specific scripts, and make reading/maintaining them more streamlined. Then your case/if selection of the platform-specific environment is centralized into a single centralized location where the package manager call for installation is made.
I agree however that in an in-house setting, if I had the choice to use a package manager, then I'd be choosing a language other than Bash.
Re: Bash-lib: Library for bash utility methods and tools
#7We need a Bash package manager and global repo now! (If you had told me in 2001 that Javascript would have had NPM and bash not, I would not have believed you.)
However, there's little documentation for any of this, and it's clearly not intended to be used for anything outside of the installer context— I couldn't even figure out how to do the equivalent of a debootstrap for an anna environment. For my own custom installer needs it turned out to be easier to use a conventional deb/apt environment and implement most of the logic in Python.
Re: Bash-lib: Library for bash utility methods and tools
#8relevant: https://github.com/niieani/bash-oo-framework
I mean, this seems to make Bash a modern programming language, however if you do need something like this a modern scripting language like Python would be better in those cases.
Re: Bash-lib: Library for bash utility methods and tools
#9relevant: https://github.com/niieani/bash-oo-framework
This seems very interesting, however also dangerous. I mean, this seems to make Bash a modern programming language, however if you do need something like this a modern scripting language like Python would be better in those cases.
Neither python nor bash exclude the other. Some things are easily solved in one, others are more easily solved in the other. And both have "escape hatches" to the other.
Re: Bash-lib: Library for bash utility methods and tools
#10We need a Bash package manager and global repo now! (If you had told me in 2001 that Javascript would have had NPM and bash not, I would not have believed you.)