Es gibt keine wirkliche Anforderung, dass "Shell-Skripte" in einer Shell-Sprache geschrieben sein müssen, Sie könnten alles mit C oder sogar Assembler machen, wenn Sie das möchten.
Im Zusammenhang mit Shell-Skripten ist die Shell nichts anderes als ein Interpreter für eine Programmiersprache, genau wie Perl oder PHP, aber stark optimiert für die Art von Arbeit, die Sie meistens mit einem Shell-Skript erledigen.
Langfristig würde ich vorschlagen, dass Sie Bash oder so etwas lernen, was nicht wirklich schwierig ist, da Muscheln in ihren Fähigkeiten sehr begrenzt sind, sodass es nicht zu viel zu lernen gibt.
Sie können groovy werden und groovysh verwenden. Ich habe einige Dinge damit gemacht, aber ich finde perl oder bash/sh am nützlichsten für die Erstellung von Verwaltungsskripten. Eine Anwendungssprache wie Java fügt viel Overhead hinzu, wenn Sie nur Betriebssystembefehle ausführen und Text suchen müssen.
Einige der leichteren JVM-Sprachen haben Shells, aber das sind Front-Ends für den Interpreter, keine benutzerdefinierten Dialekte für die Systemverwaltung. Eine gute System-Shell muss eine hervorragende Unterstützung für Prozesse und Dateideskriptoren haben und eine prägnante Syntax und eingebaute Funktionen haben, und ich glaube nicht, dass das in Java existiert.
Sie können Programmieren mit Scripting mit Dingen wie chef, puppet, vlad und dergleichen mischen, aber das bedeutet, dass Sie zuerst Bash-Scripting lernen müssen, weil diese Sprachen ganz vernünftig Befehle an die Shell delegieren. Sprachen wie Ruby, Perl und Python sind weniger ausführlich und werden häufig verwendet. Javas Ausführlichkeit und einige seiner Kernwerte (alles in jvm erledigen, ide nicht verlassen) machen es für diese Aufgabe sehr ungeeignet.