log4sh is a logging framework for shell scripts that works similar to the other wonderful logging products available from the Apache Software Foundation (e.g. log4j, log4perl). Although not as powerful as the others, it can make the task of adding advanced logging to a shell script easier, and has much more power than just using simple "echo" commands throughout. In addition, it can be configured from a properties file so that scripts in a production environment do not need to be altered to change the amount of logging they produce.
Shell Flags (shFlags) is a library written to greatly simplify the handling of command-line flags in Bourne based Unix shell scripts (such as those run with bash, dash, ksh, sh, and zsh). Most shell scripts use getopt for flag processing, but the different versions of getopt on various OSes make writing portable shell scripts difficult. shflags instead provides an API that doesn't change across shell and OS versions, so the script writer can be confident that the script will work.