PHP Command Line Interface has made some vast improvements over the past few months. One of which is Ncurses functionality. I read this article at Zend.com and thought it was very cool. It allows you to format the text on the screen. The article has screenshots to help you understand what it really does.
Before everyone tackles me for using PHP for shell scripts, I’d like to present my reasoning. Sure, even with the advances PHP has made recently, PERL is still probably a better option for shell scripting. Quite frankly, I don’t have the time to learn all the ins and outs of PERL just to write a simple script to dump some database records. I already know how to do that in PHP, so why not use PHP? I think sometimes people underestimate the value of having one language that can do everything you need. It keeps syntax confusion to a minimum and allows me to study the more advanced aspects of the language instead of just knowing the basics of multiple languages. Not to mention it cuts development time by ungodly margins.
I urge you to give PHP a try for shell scripts (That is, unless you are already a PERL god, which I am not).