Linux = Is there something like a "Java Shell" instead of other linux shells?

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.


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.


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.

Tags:

Linux

Shell