Bill

Mature

Bill strives to be a solution for developing applications which can be run on platforms with limited resources (e.g. embedded systems) on top of the GNU Bash shell, with a focus on quality and reusability of shell code.

It does so by providing module system with its standard library, which you can leverage in your own scripts, both by using existing modules and splitting your program in reusable components.

Additionally, tools for documenting and testing modules, and serving web applications are provided as part of the package.

It has the next main features:

  • Ability of running on small, embedded systems with scarce resources.
  • Bash as the only dependency. Choose one of netpipes, ipsvd or ucspi-tcp for TCP sockets support.
  • Module system for shell code.
  • Standard library (batteries included!)
  • Billets container.
  • Creation of standalone scripts.
  • Tools for documentation generation.
  • Tools for writing unit tests.

Updates

Adrián Pérez 22/06/2009

Successful upgrade to Bash 4

Yesterday my package manager insisted in updating Bash to version 4, which was released some time ago. I was a bit worried because as this new version intruduced new features, just in casethey could cause some of my working scripts to fail miserably. The...

Adrián Pérez 29/05/2009

Some news, including Bill 0.2 release

Time has passed since the latest time I blogged about something, and some things have happened, so I think it is a good occasion to write some words. The first news is that I have just released Bill 0.2, which introduces the following changes: Change...

Adrián Pérez 03/03/2009

Bash 4.0 is out!

Some of you maybe already know about the news, but GNU Bash 4.0 was released a while ago. There are some interesting good news in this release. For example, now Bash ships with support for associative arrays (hashes) out-of-the-shell. This will make some...

Adrián Pérez 30/01/2009

Bill 0.1-2 released

I have just relased version 0.1-2 of Bill, your favourite accompaniment for your shell-code meals. Albeit I have plans for an upcoming 0.2 which will break some backwards compatibility, this is a just a mainteinance release which introduces some bugfixes....

Adrián Pérez 06/01/2009

Using boolean variables in Bash

Today I stumbled upon a weblog post by Mark Dominus on a “novel” way of using flag variables in shell code, mainly because I have been using that technique since my early days of shell programming. Let me introduce the syntax: the_world_is_flat=true #...

Links

Commits

Adrian Perez de Castro pushed 2 commits to bill/mainline:master

aperez pushed 2 commits to bill/mainline:master master changed from ad911a7 to fe6f49d

Adrián Pérez24/08/2011

Adrian Perez de Castro pushed 1 commit to bill/mainline:master

aperez pushed 1 commit to bill/mainline:master master changed from ec66b5a to ad911a7

Adrián Pérez24/08/2011

Adrian Perez de Castro pushed ec66b5a7 to bill/mainline:master

aperez pushed ec66b5a7 to bill/mainline:master Adrian Perez de Castro ec66b5a: Add missing word in coding style doc

Adrián Pérez18/03/2010

Adrian Perez de Castro pushed c690d7ad to bill/mainline:master

aperez pushed c690d7ad to bill/mainline:master Adrian Perez de Castro c690d7a: Proper warning about ucspi-tcp not found

Adrián Pérez09/03/2010

Adrian Perez de Castro pushed f162f269 to bill/mainline:master

aperez pushed f162f269 to bill/mainline:master Adrian Perez de Castro f162f26: Added link to news/blogposts in front page

Adrián Pérez06/11/2009