# Shellskript von Java-Programm auf AIX-Plattform aufrufen



## lafou1 (2. Januar 2006)

Hallo,


ich möchte ein Shellscript  von einem Java-Programm auf AIX-Plattforn aufrufen. 
das geht leider nicht auf AIX ,obwohl ich den Skript mit dem Befehl ".  /shell  "in der Konsole  aufrufen kann.
wenn ich das vom Programm aufrufe :
Process p = Runtime.getRuntime().exec( ". /shel" ) ;

bekomme ich IOEXception: . not found

hat jemand ein Idee,wie ich das Problem lösen kann
Gruss


----------



## RedWing (2. Januar 2006)

lafou1 hat gesagt.:
			
		

> Hallo,
> 
> 
> ich möchte ein Shellscript  von einem Java-Programm auf AIX-Plattforn aufrufen.
> ...



Hallo ist denn das leerzeichen zwischen dem . und /shel absichtlich?
Wenn ja bastle dir doch einen wrapper drum und dann kannst du den source 
operator in deinem Wrapper Skript aufrufen....
Etwas so:


```
/**
 * @author redwing
 **/

class test{
        public static void main(String[] args) throws Exception{
                Runtime.getRuntime().exec("./shel_wrapper");
        }
}
```

und shel_wrapper:


```
#! /bin/bash
. shel
```

Gruß

RedWing


----------



## lafou1 (2. Januar 2006)

Hi,
zuerst danke für den Tipp, das ist wirklich gute Idee. ich werde es versuchen.

>> ist denn das leerzeichen zwischen dem . und /shel absichtlich?

Ja das Leerzeichen ist absichtlich,sonst funktioniert das nciht auf unsre AIX-Plattform

Gruss


----------



## lafou1 (4. Januar 2006)

Hi,
Leider geht das nicht, da ich die selbe Problem hab , ich nicht den  shel_wrapper    mit         Runtime.getRuntime().exec("./shel_wrapper"); aufrufen. zwar kommt keine Fehlermeldung aber den Skript wird nicht ausgeführt.

Mit dem direckten Aufruf von shel war genau so.wenn ich kein leerzeichen zwischen den Punkt und bckslash lasse,bekomme keine fehler aber den Skript wird nicht ausgeführt,und wenn ich einen  leerzeichen dazwichen lasse,bekomme ich IOException zurück. ". not found". :-(

Gruss


----------



## deepthroat (4. Januar 2006)

Hi.

Wie kommst du darauf das Skript wird nicht ausgeführt Was macht denn dieses Skript? Also woran erkennst du "normalerweise" das das Skript ausgeführt wurde?

Normalerweise ist der '.' in der Shell ein alias für den source Befehl - d.h. das Skript wird direkt in der momentan laufenden Shell ausgeführt.

Was für ein Shell Skript ist es denn eigentlich? Soweit ich weiß ist ja  die Standardshell auf AIX die Korn-Shell. Für welche Shell programmierst du denn? Hast du auch ein entsprechendes She-Bang (#!/bin/csh) in der Datei angegeben? Ist die Datei ausführbar?

Wo startest du das Java-Programm? Ist das Shell-Skript in dem Verzeichnis wo du Java startest?

Gruß


----------

