
Bash-lib: Library for bash utility methods and tools - suresh70
https://github.com/cyberark/bash-lib
======
b215826
There's also the "pure bash bible", which is a collection of pure-Bash
alternatives to several commands: [https://github.com/dylanaraps/pure-bash-
bible](https://github.com/dylanaraps/pure-bash-bible)

------
jacobush
We 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.)

~~~
layoutIfNeeded
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.

~~~
yourapostasy
I can see in the use case of building up scaffolding between many different
Unices to a common reference point sufficient to serve as an abstraction layer
for a packaged software product to code against a generic Unix model, a Bash
package manager might be useful. Some of those Bash-based abstraction layers
can get relatively sprawling, and a packaging system would serve a useful role
as a configuration dispatcher.

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.

------
aeroxis
Shameless plug but I was not a huge fan of working with bash as I liked
python, so I made Sultan:
[https://sultan.readthedocs.io/en/latest/](https://sultan.readthedocs.io/en/latest/)

~~~
stefco_
any reason for this vs. plumbum?

~~~
vanous
Sultan seems less like bash and more like a Python to me. Not having to pass
everything as a list of tokens feels nicer.

------
evacchi
relevant: [https://github.com/niieani/bash-oo-
framework](https://github.com/niieani/bash-oo-framework)

~~~
m45t3r
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.

~~~
jVinc
Why is that dangerous? I mean I have seen tons of things in python where I'd
say "Why didn't you just do this in bash.

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.

~~~
m45t3r
I mean, there is some things that Bash really shines, specially for gluing
code or working with pipelines.

However, not rarely this ends in a trap: "oh, I already have this small shell
script here, I will just add another feature". After sometime, you get a
gigantic shell script full of lines that nobody understand anymore, since Bash
lacks so many things as a programming language that you end up with multiple
hacks just to support that feature you wanted.

I went with the trap above more than once, and sometimes I get myself in it
again, until I decide that enough is enough and just rewrite the script in
something else.

------
stephenr
Shameless plug: [https://bitbucket.org/koalephant/shell-script-
library](https://bitbucket.org/koalephant/shell-script-library)

Yes, I know the readme is not up to date with recent changes/improvements.

