We have a system that has some bash scripts running besides Java code. Since we are trying to Test Everything That Could Possibly Break, and those bash scripts may break, we
Epoxy is a Bash test framework I designed mainly for testing other software, but I use it to test bash modules as well, including itself and Carton.
Main advantages are relatively low coding overhead, unlimited assertion nesting and flexible selection of assertions to verify.
I made a presentation comparing it to BeakerLib - a framework used by some at Red Hat.