/bashwithnails

Bash With Nails

Primary LanguageShellGNU General Public License v2.0GPL-2.0

Bash With Nails

Build Status

Bash With Nails (rhymes with ruby on rails) is a bash framework written for fun and profit.

I'm kidding about the fun and profit part.

It has:

  • loading of bash function collections in separate "modules".
  • dependency management and automatic loading of relevant "modules".
  • separate "modules" can have separate "namespaces", prefixing function names and non-global variables, e.g. mymodule::myfunction.
  • if you want to refer to your own namespace, you can use this::myfunction in your module.
  • named function parameters, e.g. function myfunction(a b c) { echo "$a $b $c"; }.
  • weak OOP support, e.g. oop::new oop_demo '1 2' 'obj_one'; oop::new oop_demo '3 4' 'obj_two'; oop::call 'obj_one' sum ""; oop::call 'obj_two' sum ""; oop::destroy 'obj_two' ''
  • modules can be downloaded from the repository (as seen in sample_repo folder)
  • tests of unit kind, kind of :) (yes, it works with travis)

see Docs or clone and run for more information.

How to run

./app.sh

and see all the magic described above happen.

Why "with nails"?

Because

cursed hammer

So it's only natural you want nails with that. Or you can keep on bashing your thumbs - it's a free world!