Reindirizzamento output script bash

di il
2 risposte

Reindirizzamento output script bash

Ciao a tutti,
ho scritto uno script in bash che mi restituisce il numero di file presente in una cartella denominata "fileScritti". Per rendere questo risultato permanente ho deciso di reindirizzare l'output su un file nel seguente modo:
&>"numerfile.txt"
Successivamente ho deciso di far eseguire lo script direttamente da un altro programma che ho scritto in Java, vorrei però che il risultato dello script non venisse reindirizzato in un file, ma venisse assegnato ad una variabile in Java. E' possibile? Grazie mille

2 Risposte

  • Re: Reindirizzamento output script bash

    E' possibile, e anche abbastanza complicato
    Concettualmente, quello che deve essere fatto e' REDIRIGERE lo STDOUT del processo batch (lanciato dal PROCESSO Java) verso un STREAM del processo Java: questo stream e' detto PIPE.
    Dalla PIPE (che e' uno stream in INPUT per il processo Jana ed in OUTPUT per il processo Bash) puoi leggere la stringa che ti i nteressa e la processi come ti serve (in questo caso la converti in un intero)

    Devi studiarti come funziona "Commons Exec" del progetto Apache:

    https://commons.apache.org/proper/commons-exec
  • Re: Reindirizzamento output script bash

    Grazie mille, la tua spiegazione mi è stata molto utile!
Devi accedere o registrarti per scrivere nel forum
2 risposte