Die Programmiersprache, die ich am meisten kenne, ist Java. Derzeit muss ich ziemlich viele "Shell-Skripte" schreiben, um meine Server zu automatisieren. Gibt es so etwas wie eine "Java Shell", damit ich die Shell-Skripte in Java schreiben kann?
8
Antworten:
Sie können groovig werden und groovysh verwenden. Ich habe einige Dinge damit gemacht, aber ich finde Perl oder Bash / Sh am nützlichsten, um Administrationsskripte zu erstellen. Eine Anwendungssprache wie Java verursacht viel Aufwand, wenn Sie lediglich Betriebssystembefehle ausführen und Text suchen müssen.
quelle
Es gibt keine wirkliche Anforderung, dass "Shell-Skripte" in einer Shell-Sprache geschrieben sein müssen. Sie können alles mit C oder sogar Assembler machen, wenn Sie das mögen.
Im Kontext von 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 ausführen.
Langfristig würde ich vorschlagen, dass Sie Bash oder etwas lernen, was nicht wirklich schwierig ist, da die Fähigkeiten von Muscheln sehr begrenzt sind, so dass es nicht zu viel zu lernen gibt.
quelle
Einige der leichteren JVM-Sprachen haben Shells, aber dies sind Frontends für den Interpreter, keine benutzerdefinierten Dialekte für die Systemadministration. Eine gute System-Shell muss eine hervorragende Unterstützung für Prozess- und Dateideskriptoren sowie eine präzise Syntax und integrierte Funktionen aufweisen, und ich glaube nicht, dass dies in Java vorhanden ist.
Sie können Programmieren mit Skripten mit Dingen wie Chefkoch, Puppe, Vlad und dergleichen mischen, aber das bedeutet, dass Sie zuerst Bash-Skripte lernen, da diese Sprachen Befehle vernünftigerweise an die Shell delegieren. Sprachen wie Ruby, Perl und Python sind weniger ausführlich und werden häufig verwendet. Die Ausführlichkeit von Java und einige seiner Grundwerte (alles im JVM tun, die Idee nicht verlassen) machen es für die Aufgabe sehr ungeeignet.
quelle
Ja da ist. Ich habe BeanShell von Zeit zu Zeit verwendet, obwohl es derzeit nicht aktiv entwickelt wird. Es ist ein Interpreter für die Standard-Java-Syntax und wird bei Bedarf auch mit einem grafischen Interpreter / einer grafischen Umgebung geliefert.
Sie könnten Ihre Shell-Skripte wie in den BeanShell-Dokumenten beschrieben schreiben , müssten jedoch die Beanshell-JAR-Datei für Ihre Java-Installation verfügbar machen (z. B. in den
/ext/lib
Ordner Ihrer JRE-Installation legen ), da Java sonst diebsh.Interpreter
Klasse nicht findet .Ich würde jedoch auch empfehlen, sich Ihre Shell-Scipting-Optionen genauer anzusehen (Sie haben Ihre Umgebung nicht erwähnt, aber die Empfehlung von TiZon mit bash ist unter Linux cool). Die Verwendung einer vollwertigen Allzweck-Programmiersprache wie Java wird nur dann stören, wenn Sie versuchen, mit Shell-ähnlichen Aufgaben produktiv zu sein, z. B. Dateien verschieben, Befehle aufrufen und dergleichen.
quelle
Sie sollten sich wahrscheinlich Bash Scripting ansehen .
quelle
Ich habe jpad.io geschrieben , um das Ausführen von Java- "Shell-Skripten" und interaktiven Snippets zu ermöglichen und gleichzeitig eine schöne Visualisierung der Ergebnisse zu ermöglichen. Das zeigt was ich meine:
Um eine Datei mit dieser Skriptsprache zu kopieren, verwenden Sie: http://jpad.io/example/1I/fileio
Was Sie auch über die Befehlszeile ausführen können:
quelle
Ja, fügen Sie die Beanshell .jar in Ihr Javahome / jre / lib / ext-Verzeichnis ein, und dann können Sie Skripte wie folgt starten:
quelle
PowerShell, eine objektorientierte Shell, die C # -Bibliotheken verwenden kann, wurde als Open Source bereitgestellt und ist für Linux verfügbar .
quelle