Easier Shell Library

Status: INCOMPLETE DRAFT

What is the Easier Shell Library?

This library is designed to improve readability of UNIX shell scripts by wrapping commonly used but confusing (for people who do not think in Bourne shell) idioms in functions with meaningful names.

Why Bother?

I work on a project with many experienced software developers, but few are fluent in Bourne derived shells like Bash. This project could benefit from more process automation coded in Bash, but to be useful this automation must be easily maintainable and quickly tweak-able by project members without distracting them from their primary work by forcing them to become fluent in Bash.

While this library will not solve the entire shell script maintenance problem problem, it will reduce the scope of the problem in my project.

If this library happens to be useful to others, great! But, I will not take any requests for enhancements from anyone outside my current project.

Not for Experienced Bourne Shell Programmers

Scripts written using this library will be verbose by Bourne shell standards. Experienced Bourne shell programmers will probably not like the results. These programmers are not the intended audience for this library.

Supported Shells

I will keep this library compatible with recent versions of Bash (3, 4). Compatibility with other shells depends on the needs of my project.

The Easier Shell Library is not

  • an official NRAO project,
  • a full application framework,
  • a library for writing large shell scripts.

There are many other shell libraries and application frameworks that are more capable than the Easier Shell Library will ever be. I'm not using any of these because they do not contribute to my goal, and are too heavyweight for my purposes.

To Do

task status
Setup continuous build/test job for testing in Bash 3 on OS X 10.7.  
Setup continuous build/test job for testing in Bash 3 on OS X 10.8.  
Setup continuous build/test job for testing in Bash TBD on OS X 10.9.  
Setup continuous build/test job for testing in Bash 3 on Redhat Enterprise Linux 5.  
Setup continuous build/test job for testing in Bash 4 on Redhat Enterprise Linux 6.  

-- ScottRankin - 2013-11-22
Topic revision: r8 - 2013-11-22, ScottRankin
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback