Linux = Is there something like a "Java Shell" instead of other linux shells?
You can get groovy and use groovysh. I've done some things with that, but I find perl or bash/sh the most useful for doing admin scripts. An application language like Java adds a lot of overhead when all you need to do is execute OS commands and search text.
There is no real requirement that "shell scripts" have to be written in a shell language, you could do everything with C or even Assembler, if you like that.
In the context of shell scripts, the shell is nothing more than an interpreter for a programming language, just like Perl or PHP, but heavily optimized for the kind of work you mostly do with a shell script.
In the long term, I would suggest that you learn bash or something, which isn't really difficult because shells are very limited in their abilities so that there isn't too much to learn.
Some of the lighter jvm languages have shells, but those are front-ends to the interpreter, not custom dialects for sysadmining. A good system shell needs to have excellent process and file descriptor support and have concise syntax and builtins, and I don't think that exists in Java.
You can mix programming with scripting with things like chef, puppet, vlad, and the like, but that means learning bash scripting first, because those languages, quite sensibly, delegate commands to the shell. Languages like Ruby, Perl and Python are less verbose and you'll see them used a lot. Java's verbosity and some of its core values (do everything in the jvm, don't leave the ide) make it very ill-suited to the task.
Yes, there is. I have been using BeanShell from time to time, even though it is not under active development at the moment. It is an interpreter for standard Java syntax and also comes with a graphical interpreter / environment, if required.
You could write your shell scripts as described in the BeanShell docs, but you would have to make the Beanshell jar file available to your Java installation for this (e. g. put it into the /ext/lib
folder of your JRE installation), otherwise java will not find the bsh.Interpreter
class.
However, I would also recommend to take a closer look at your shell scipting options (you did not mention your environment, but TiZon's recommendation with bash is cool when using Linux). Using a full-blown general-purpose programming language like Java will only get in the way when trying to be productive with shell-like tasks, e. g. moving files around, invoking commands and the likes.
You should probably take a look at Bash Scripting.