yeah if you're going to do this, you should validate that its `[zsh|bash|csh|sh|tcsh|ksh]`

you've already got shell-specific features, you only support sh/bash/zsh (and ksh?) users right now...