No existe un requisito real de que los "scripts de shell" deban escribirse en un lenguaje de shell, puede hacer todo con C o incluso Assembler, si lo desea.
En el contexto de los scripts de shell, el shell no es más que un intérprete de un lenguaje de programación, como Perl o PHP, pero muy optimizado para el tipo de trabajo que se realiza principalmente con un script de shell.
A largo plazo, te sugiero que aprendas bash o algo así, lo cual no es realmente difícil porque los caparazones tienen habilidades muy limitadas, por lo que no hay mucho que aprender.
Puedes ponerte maravilloso y usar maravilloso. He hecho algunas cosas con eso, pero creo que perl o bash/sh son los más útiles para hacer scripts de administración. Un lenguaje de aplicación como Java agrega mucha sobrecarga cuando todo lo que necesita hacer es ejecutar comandos del sistema operativo y buscar texto.
Algunos de los lenguajes jvm más ligeros tienen shells, pero esos son interfaces para el intérprete, no dialectos personalizados para la administración de sistemas. Un buen shell del sistema debe tener un excelente soporte de proceso y descriptor de archivos y tener una sintaxis y componentes integrados concisos, y no creo que eso exista en Java.
Puede mezclar programación con secuencias de comandos con cosas como chef, puppet, vlad y similares, pero eso significa aprender primero las secuencias de comandos bash, porque esos lenguajes, con bastante sensatez, delegan comandos al shell. Los lenguajes como Ruby, Perl y Python son menos detallados y verá que se usan mucho. La verbosidad de Java y algunos de sus valores fundamentales (hacer todo en jvm, no dejar el ide) lo hacen muy inadecuado para la tarea.