Exécution d'un script à partir de code java
Bonjour,
J'aimerais, à partir de code java (sous ubuntu), exécuter un script shell qui exécute une commande que j'insère habituellement dans mon terminal. Voici mon script (élémentaire) :
Code:
1 2 3 4
| #!/bin/sh
dot -Tps -o automaton.pdf automaton.dot
echo "PDF généré" |
Ce script fonctionne parfaitement lorsque je le lance à partir de mon terminal, en m'étant préalablement positionné dans le bon répertoire (celui qui contient automaton.dot). Le script me permet de générer le fichier automaton.pdf qui est produit dans ce même répertoire.
Voici le code java qui est censé exécuter ce script :
Code:
1 2 3 4 5 6 7 8 9
| try {
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("sh /monchemin/script.sh");
process.waitFor();
System.out.println("process exit value: " + process.exitValue());
}
catch(Exception ex) {
ex.printStackTrace();
} |
et voici ce que j'obtiens à l'exécution de mon code java :
Code:
process exit value: 0
Le problème c'est que mon fichier automaton.pdf n'est jamais produit. Je ne le trouve pas dans mon répertoire. Alors que lorsque j'insère directement ma commande dans le terminal ce pdf est bien généré... J'ai essayé pas mal de choses en cherchant des solutions sur différents forum mais en vain...
Si quelqu'un peut m'aider... D'avance merci ;)