A coworker came into my office this morning asking help fixing a disk partitioning script in the Linux installer because the author wasn't in yet. The script author was recently saying how he prefers to use Bash features not found in the Bourne shell spec. I told him, "you'd be better off getting accustomed to writing according to stock Bourne because you never know when you gotta run something on like [12 year old] Solaris 2.5.1 or the implementations get screwy."
What had happened was Redhat (Enterprise) 4 Update 6 switched install images from an 8M iso to a 1M "net" iso. The way they got it down was to replace a lot of the utilities with
BusyBox - a kind of swiss army knife that bundles a lot of basic unix utilities into one binary. Well, BusyBox's shell (ash) is not 100% feature complete: Specifically, it's missing array support.
I replaced 14 lines of the original authors code, which used all-bash, with one line of awk (which is busybox, too). It's fixed, much more concise and thus easier to understand.
I love it when I'm proved right. It's 10X glorious when I fix what I said was going to break in much cleaner way. ^_^
Epilogue: The original author backed out my changes when he came in and instead opted to shoehorn in a full Bash into the net iso, nearly doubling its size. Thus reinforcing my 3 year old decision to divorce myself from install maintenance. *sigh*