Sh Script in JSON Datei

Hi,

kann ich in einer JSON Datei einen Pfad angeben?

"Name" : "folder/name.sh"

Vielen Dank und Liebe Grüße
Lia
 
Also bitte korriegere mich wenn ich etwas dummes sage:D:D:D
Ich habe in einem Ordner in Eclpse ein Programm also auch eine Java Klasse .. dann wollte ich in einer json Datei ein shell Script angeben. Und dieses Programm erstmal als jar datei umwandeln und dann auf einem anderen Server ausführen.. ich weiß noch nicht genau wie das alles laufen soll, bin noch komplet neu in dem thema, aber wollte eifnach mal etwas rumprobieren :D:D
 
Jetzt mal langsam. Dazu bräuchtest Du natürlich eine Serverkomponente, die das JSON liest und das darin angegebene Script ausführt.

Du müsstest uns schon verraten, was Dein Gesamtvorhaben ist. Vermutlich bist Du nämlich auf dem Holzweg :)
 
K

kneitzel

Also ich kann Deinen Gedankengängen gerade nicht folgen.

Hast Du eine Server <-> Client Struktur und möchtest einen zentralen Server haben, der dann anderen Systemen sagen kann, was diese tun sollen?

Oder hast Du mehr den Fall, dass Du einen Entwicklungsrechner hast. Diesen nutzt du um in Eclipse ein Java Programm zu schreiben, welches dann am Ende als jar Datei zu anderen Systemen geht um da dann ausgeführt zu werden?

Alles beides geht. Bei ersterem ist es aber eher unüblich, einen Java Client zu nutzen, da hier die Anforderungen zu komplex sind. Da sind native Applikationen (SCCM*, jamf PRO*, ...) oder gar reine scripts (Munki*) üblich. Der zweite Fall ist natürlich trivialer, aber Du hast da natürlich auf jedem System, auf dem du das jar ausführen willst, die Voraussetzung, dass Java installiert ist in einer passenden Version. Daher wäre da die Frage, wieso nicht einfach direkt ein Script verwendet wird....

Viele Grüße,

Konrad

*) Einfach ein paar Verwaltungs-Tools, die ich so kenne. SCCM ist von Microsoft und eine reine native Entwicklung, jamf PRO hat den java basierenden Server und native clients. Munki ist ein interessantes Open Source Produkt für Macs, welches Clientseitig nur Scripts hat und Server Seitig nur eine reine Dateistuktur benötigt) Davon aber bitte nicht verwirren lassen.
 
Hi Konrad :)

Ja genau es ist der zweite Fall. Ich würde gerne das Java script auf dem Test Server ausführen. Und diese dann als jar File auf dem Testserver starten..

Hierfür kann ich den Process Builder nutzen richtig ?? Kann man dem Process builder als Parameter auch einen Pfad geben ? Wo das entsprechende Skript liegt welches er ausführen soll?

Liebe Grüße
Lia
 
@mihe7 ich probiere es erstmal lokal ein Skript auszuführen xD

Habe jetzt Mal

Code:
 ProcessBuilder Pb = new ProcessBuilder ();
try{
Pb.start();
}

catch()...
Bekomme die Fehlermeldung create process Ist keine zuverlässigr win32 Anwendung :/
 
K

kneitzel

Also um ein Shell Script auszuführen brauchst Du keine jar Datei. So eine Java Applikation als Wrapper um einen Script macht aus meiner Sicht nicht wirklich viel Sinn. Was macht die Java Applikation sonst noch, so dass sich der Aufwand lohnt?

Bei Deinem Code fehlt aber auch der genaue Befehl, den er ausführen soll. Schau Dir mal http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_11_005.htm an.
 
@kneitzel danke für deine Antowrt =)

Die Java applikation soll etwas aus der Json Datei auslesen und dann ein bestimmtes skript ausführen . Ich habe die JSON vorher als "externe Datei" auf dem rechner gehabt. Jetzt habe ich sie mal bei Eclipse mit eingebaut.. funktioniert ja im Prinzip genauso.. Das auslesen der json datei funktioniert soweit, nur weiss ich nicht genau wie ich das mit dem Process Builder einbauen soll.. oder mit dem Runtime.exec();
 
Was mich gerade verwirrt. Ist ein .sh file nicht eigentlich ein Linux Bash? Oder kann Windows das mittlerweile auch?
 
Ja das shellscript führe ich auf einem Linux Testserver aus.. deswegen wollte ich es dann auch in jar file umwandeln
 
@Lia, jetzt schreib halt mal konkret, um was es wirklich geht. Was Du da machst, funktioniert nicht. Du kannst kein Shellscript in ein Jar umwandeln und Du kannst nicht irgendwelche Linux-Programme einfach so auf Windows ausführen.

Also: was macht das Shellskript? Was macht Dein Java-Programm? Auf welchem Rechner bzw. welchen Rechnern soll was laufen und warum?
 
K

kneitzel

Was mich gerade verwirrt. Ist ein .sh file nicht eigentlich ein Linux Bash? Oder kann Windows das mittlerweile auch?
Also so man eine bash auf dem Rechner hat, funktioniert auch ein bash script. Und unter Windows gibt es da mehrere Möglichkeiten. Cygwin bringt z.B. eine bash mit, ggf. gibt es diese aber auch so für Windows übersetzt so wie es das für viele GNU Tools ja der Fall ist. Und mit dem Linux Subsystem wird bei Windows 10 auch bestimmt die bash mit dabei sein.

Aber ansonsten gebe ich @mihe7 duchaus Recht: Derzeit macht das alles nicht ganz so viel Sinn. Evtl. ist die Idee, über so etwas das Script zu verstecken, aber in dem jar File ist es ja auch nicht wirklich geschützt. Wenn es ein reines Lernen ist, dann kann man gerne das starten von externen Prozessen üben, aber dazu reicht dann ein einzelner Rechner aus ...

Daher war mein erster Gedanke, dass hier sowas wie ein Client<->Server System aufgebaut werden soll. Da könnte sowas durchaus Sinn machen. (Und clients bekommen dann von irgendwoher Informationen, was diese zu tun haben oder so.) Dann ginge das Ganze evtl. etwas Richtung Ansible und co. Aber das wurde ja auch verneint. Daher bin ich auch einmal gespannt, was hier der Hintergrund ist.
 
Passende Stellenanzeigen aus deiner Region:

Oben