Shell Script ausführen

freehawk

Mitglied
Hallo zusammen,

ich habe folgenden Code:
Code:
try 
{
    debug.print( 2, "Compile antriggern" );
                                                
    //Process proc = Runtime.getRuntime().exec( verzeichnis + "/compile.sh" );
    Process proc = Runtime.getRuntime().exec( "./compile.sh" );
                                                                                
    BufferedReader in = new BufferedReader( new InputStreamReader( proc.getInputStream() ) );
                                    
    while( ( verzeichnis = in.readLine() ) != null )
    {
                                                                    
        debug.print( 3, verzeichnis );    
                                            
    }
    proc = null;
    in = null;    
}
catch( IOException e )
{
    debug.print( 1, "Fehler auf der Konsole: " + e.getMessage() );
}
catch( Exception e )
{
    debug.print( 1, "Fehler auf der Konsole: " + e.getMessage() );
}

Wenn ich ihn ausführe, dann wir das Shell Script ausgeführt, die Befehle darin werden offensichtlich ausgeführt, da dadurch Dateien erzeugt werden. Was ich allerdings mit dem Reader nicht auffangen kann ist die Ausgabe von dem Shell Script. Scheinbar kann readLine keine Zeilen lesen.

In dem Shell Script ist ein "echo" Befehl, sprich mindestens eine Zeile sollte eingelesen werden können. Eine Exception wird auch nicht ausgegeben.

Habt ihr eine Idee?

Danke

Gruß
Markus
 

freehawk

Mitglied
so nun konnte ich das auch mal testen.

Leider bringt das bash auch keine andere Ausgabe. Ich sehe dass der Befehl ausgeführt wurde aber leider sehe ich weiterhin keine Ausgabe....
 

mihe7

Top Contributor
Getestet, funktioniert:

Java:
import java.io.*;

public class Test {
    public static void main(String[] args) throws Exception {
        Process proc = Runtime.getRuntime().exec("bash ./compile.sh");
        try(BufferedReader in = new BufferedReader(
                new InputStreamReader(proc.getInputStream()))) {
            String line;

            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }
        }
    }
}

Code:
#!/bin/sh
echo "Test"
 

freehawk

Mitglied
Jetzt hab ich mein Problem gefunden.

Mein Bash Script gibt nicht sofort was aus, der erste Befehl braucht ein wenig Zeit um ausgeführt zu werden. Dadurch wird wahrscheinlich das !=null schon erfüllt in der while und das Einlesen schon abgebrochen....
 

freehawk

Mitglied
Code:
try
{
    debug.print( 2, "Compile antriggern" );
                                                                            
    Process proc = Runtime.getRuntime().exec( "./compile.sh" );
                                                                                
    BufferedReader in = new BufferedReader( new InputStreamReader( proc.getInputStream() ) );
    BufferedReader error = new BufferedReader( new InputStreamReader( proc.getErrorStream() ) );
                                                                                
    while( proc.isAlive() )
    {
        if( in.ready() == true )
        {
            compileMessages = compileMessages + in.readLine() + "\r\n";   
        }
        if( error.ready() == true )
        {
            compileMessages = compileMessages + error.readLine() + "\r\n";   
        }
    }
    debug.print( 3, compileMessages );
    proc = null;
    in = null;
                                        
    if( compileMessages.contains( "warning" ) )
    {
        debug.print( 2, "Compile mit Warnings" );
    }
    else
    {
        data = true;
    }
    if( compileMessages.contains( "error" ) )
    {
        debug.print( 2, "Compile mit Errors" );
        data = false;
    }
    else
    {
        data = true;
    }
}
catch( IOException e )
{
    debug.print( 1, "Fehler auf der Konsole: " + e.getMessage() );
}
catch( Exception e )
{
    debug.print( 1, "Fehler auf der Konsole: " + e.getMessage() );
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Shell Script ausführen in Java Java Basics - Anfänger-Themen 4
S Shell Script ausführen unter Java Java Basics - Anfänger-Themen 5
P ein Java Script mit Shell/Bash launchen? Ubuntu Java Basics - Anfänger-Themen 3
T Shell Script Aufruf mit Java Java Basics - Anfänger-Themen 7
G java shell script starten und befehl übergeben Java Basics - Anfänger-Themen 3
E Shell: Hauptklasse konnte nicht gefunden oder geladen werden Java Basics - Anfänger-Themen 3
A Erste Schritte Programm in Shell mit bestimmter Java-Version aufrufen Java Basics - Anfänger-Themen 10
H Shell Command, im Hintergrund Java Basics - Anfänger-Themen 2
K Befehl per Shell an Java-Applet JAR übergeben Java Basics - Anfänger-Themen 16
L SHELL-Scripte als root ausführen Java Basics - Anfänger-Themen 5
A Shell erfolgreich verlaufen oder Fehler gehabt Java Basics - Anfänger-Themen 4
S javac - Rückgabewerte an die Shell Java Basics - Anfänger-Themen 10
S Shell zeigt keine Scrollbars Java Basics - Anfänger-Themen 2
M shell als Typ auflösen Java Basics - Anfänger-Themen 12
K Shell Befehle mit Java aufrufen Java Basics - Anfänger-Themen 5
G Unix Shell Subroutine ausfuehren Java Basics - Anfänger-Themen 3
O Java- File in Shell/Terminal/etc. öffnen Java Basics - Anfänger-Themen 8
K Java-Programm mittels Shell-Skript aufrufen Java Basics - Anfänger-Themen 3
C Windows Shell mit JAVA öffnen Java Basics - Anfänger-Themen 12
T Sortierte Ausgabe in der Shell Java Basics - Anfänger-Themen 4
S Shell-Skripte per Java aufrufen? Java Basics - Anfänger-Themen 5
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
L Bubblesort in Batch Script Java Basics - Anfänger-Themen 15
J script: jar Datei starten auf Mac Os Java Basics - Anfänger-Themen 2
E Compiler-Fehler Javac Windows vs Ubuntu /Script vs Konsole Java Basics - Anfänger-Themen 4
pkm javax.script.ScriptException bei der ScriptEngine Java Basics - Anfänger-Themen 9
H Kaseya2 Script Packs Java Basics - Anfänger-Themen 0
H Script ausführen wenn Browser Notification eingetroffen ist? Java Basics - Anfänger-Themen 3
R Daten via Post an php Script senden Java Basics - Anfänger-Themen 1
B Java Script Zufallshintergrund Java Basics - Anfänger-Themen 2
M Script für Externes Programm Java Basics - Anfänger-Themen 6
T Änderung an Script Java Basics - Anfänger-Themen 6
D Compiler-Fehler ANT-Script geht nicht Java Basics - Anfänger-Themen 6
S Lightbox Script vs. Taco HTML Script Java Basics - Anfänger-Themen 4
M JUNIT tests mit ant script ausführen Java Basics - Anfänger-Themen 4
3 Erste Schritte benötige hilfe bei diesem Script Java Basics - Anfänger-Themen 2
D script.aculo.us requires the Prototype JavaScript framework >= 1.6.0.2 Java Basics - Anfänger-Themen 2
H sprung zu einem anderen punkt im script Java Basics - Anfänger-Themen 11
M Script Verbessern Java Basics - Anfänger-Themen 8
B Script Text Zeichen Suche funktioniert nicht Java Basics - Anfänger-Themen 7
B Wo ist der Fehler in meinem Script Java Basics - Anfänger-Themen 4
L vb-Script in Java ausführen Java Basics - Anfänger-Themen 3
G Datei an PHP Script senden und speichern Java Basics - Anfänger-Themen 2
V suche nach nsis script für java applikation Java Basics - Anfänger-Themen 2
G Java-Klasse aus Java-Script aufrufen Java Basics - Anfänger-Themen 3
D kleines script abhaengig von Ordner Bilder kopieren Java Basics - Anfänger-Themen 11
G nach action Script aufrufen Java Basics - Anfänger-Themen 3
zilti PHP-Script aufrufen und Rückgabe lesen Java Basics - Anfänger-Themen 2
L Java Applet/Script wird nicht angezeigt. Java Basics - Anfänger-Themen 3
M ANT-Script - Fehlermeldung wegbekommen Java Basics - Anfänger-Themen 6
J java script mit java parsen Java Basics - Anfänger-Themen 6
J Script funktioniert nicht. Java Basics - Anfänger-Themen 4
S einfaches script mit Eingabeaufforderung starten (javac) Java Basics - Anfänger-Themen 8
O Post senden an php script. Java Basics - Anfänger-Themen 20
K VB-Script ausführen Java Basics - Anfänger-Themen 6
Turkey@mp3 Brauche nen Titelauswahl/wunsch script Java Basics - Anfänger-Themen 3
C kleines Java script mit Frage Java Basics - Anfänger-Themen 2
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
E Audio Datei unter Bedingungen ausführen Java Basics - Anfänger-Themen 19
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
C 2 SwingWorkers nacheinander ausführen Java Basics - Anfänger-Themen 1
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
Alex_99 Aktion ausführen wenn Frame disposed wurde Java Basics - Anfänger-Themen 5
mervanpolat Binary Search Algorithmus ausführen Java Basics - Anfänger-Themen 1
hebein Mit Javaprogramm webseiten automatisiert befüllen und ausführen Java Basics - Anfänger-Themen 6
Jose05 ausführen im cmd schlägt fehl Java Basics - Anfänger-Themen 2
N Eclipse Programm normal ausführen Java Basics - Anfänger-Themen 1
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
Z Mehtode bei Start des Programms ausführen (Klassen übergreifend) Java Basics - Anfänger-Themen 12
J B-Sprache mit Arrays ausführen Java Basics - Anfänger-Themen 18
C Programm ausführen ohne JRE? Java Basics - Anfänger-Themen 3
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
T src Ordner ausführen Java Basics - Anfänger-Themen 9
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
M Compiler-Fehler Fehler beim Ausführen des Codes Java Basics - Anfänger-Themen 25
F cmd Befehl ausführen Java Basics - Anfänger-Themen 4
H Rekursiv Methode ausführen bei Kindern Java Basics - Anfänger-Themen 12
M Rot Schwarz Bäume, ausführen? Java Basics - Anfänger-Themen 6
CptK Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
F Java auf Windows Konsole ausführen Java Basics - Anfänger-Themen 1
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
L Linux Befehle unter Windows in Eclipse ausführen Java Basics - Anfänger-Themen 3
K Programm ausführen Java Basics - Anfänger-Themen 2
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
dapzoo Class File Version zu niedrig? Ausführen über Eingabeaufforderung nicht möglich Java Basics - Anfänger-Themen 14
alkaA Intellij Java Datei aus nicht Projekt ausführen? Java Basics - Anfänger-Themen 2
G sqlplus commands in java ausführen Java Basics - Anfänger-Themen 15
CptK Interface JTextField: Action mit Enter ausführen Java Basics - Anfänger-Themen 16
CptK Methoden Methode in MouseListner ausführen Java Basics - Anfänger-Themen 1
P jar file lässt sich nicht ausführen Java Basics - Anfänger-Themen 4
N Fehlermeldung beim ausführen des Programmes.. Java Basics - Anfänger-Themen 3
T Klassen 2 Klassen zeitgleich ausführen Java Basics - Anfänger-Themen 3
V Erste Schritte Anfänger: Ausführen eines Java-Programms Java Basics - Anfänger-Themen 5
B Java Eclipse Programm in einer Batch ausführen Java Basics - Anfänger-Themen 3
diqqerrr Java Datei als .exe ausführen Java Basics - Anfänger-Themen 8
I Erste Schritte Native code library failed to load beim Ausführen eines Beispiels Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben