L'exécution de script bash à partir de java

mon problème est simple, lorsque j'essaie de le lancer .sh script à partir de Java, le script ne marche pas exécuter. Si je change mon script à une simple commande linux, telles que ls, il fonctionne parfaitement, donc je suppose que je suis en utilisant une mauvaise commande dans mon script, qui arrête l'exécution. S'il vous plaît aider.

David

De code Java:

    String cmd = "bash /home/david/burza/getter.sh";

    try {
        Process proc = Runtime.getRuntime().exec(new String[] {"/bin/sh", "-c", cmd});
        BufferedReader read = new BufferedReader(new InputStreamReader(proc.getInputStream()));
        try {
            proc.waitFor();
        } catch (InterruptedException e) {
            System.out.println(e.getMessage());
        }
        while (read.ready()) {
            System.out.println(read.readLine());
        }
    } catch (IOException e) {
        System.out.println(e.getMessage());
    }

Script Bash:

#! /bin/bash 

wget -O data1.html http://www.rmsystem.cz/kurzy-online/akcie/easyclick;
touch ext_data.txt; 

grep 'table class="tbl1"' ./data1.html | tr '<td>' ' ' | tr '-' 'A' | grep -o -w '[0-9, ]*' | sed 's/ *//g' | sed '/^$/d' | tr ',' '.' > ext_data.txt;

lines=`wc -l ext_data.txt | grep -o '[0-9]*'`;

( echo $lines; cat ext_data.txt ) > ext_data.txt.new && mv ext_data.txt.new ext_data.txt;
êtes-vous sûr que votre script est défini comme l'exécutable ? peut-être chmod +x script.sh pourrait aider
Qu'espérez-vous obtenir? Votre script shell imprime rien sur la sortie standard, il redirige la sortie tous les fichiers. Ce qui est BufferedReader alors?
c'est un code à la con, écrire 3 fils pour l'entrée, de sortie et d'erreur de ruisseaux et de le faire de manière interactive, cela vous évitera de tout genre de problème

OriginalL'auteur dawe134 | 2012-03-20