Soy un perfeccionista, y no puedo evitar invertir una gran cantidad de tiempo en tener las herramientas necesarias.
Cuando empecé a usar FreeBSD me enamoré de tcsh y su aparente simplicidad, específicamente a la hora de hacer un for,
foreach FILE (`find . -name '*.log'`) gzip $FILE endque me parecía bastante más sencillo que el equivalente de bash,
for FILE in `find . -name '*.log'; do gzip $file; donepero un poco inóptimo porque no puedes en tcsh escribir un foreach en una sola línea.
Aún con algunos problemillas, fui usuario devoto de tcsh durante unos 7 años.
Pero estuve un tiempo confinado al universo de Windows XP (con Cygwin). Algunos problemas de rxvt-native y UTF-8 me empezaron a fastidiar y decidí probar zsh, que aparentemente funcionaba bien con CMD.
Ahí comenzó una etapa de descubrimiento que no ha terminado. Ese mismo for puede hacerse en zsh así:
for FILE in **/*log; do gzip $FILE; donelo que resulta bastante cómodo; o
foreach FILE (**/*log); gzip $FILE; endque además de familiar es también muy cómodo.
Así como eso, hay muchas otras bondades ocultas de zsh, un shell que incorpora lo mejor de bash, ksh y tcsh. Soy fan de zsh.