Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Shell bash in java

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    79
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Se si tratta di eseguibili esterni alla shell (indipendentemente dal S.O./shell), come grep e cut (che sono eseguibili esterni a qualuque shell ... non sono comandi "builtin" della bash!), allora basta usare il classico java.lang.Runtime (con i suoi vari exec() ) oppure da Java 5, il java.lang.ProcessBuilder.

    Questo vale per qualunque "eseguibile". E l'unica cosa da tenere presente è che se il processo lanciato fa dell'output su standard-output/error, questo output deve essere letto lato Java.
    Hai suggerimenti su come posso visualizzare l'output da Java. Nel programma che ho fatto, il risultato del metodo exec() su un oggetto di tipo Runtime, è stato salvato in una variabile di tipo Process.Come posso vedere a video il risultato dell'esecuzione?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da rizz1 Visualizza il messaggio
    Il metodo exec() esegue un comando prendendo come parametro il file eseguibile del comando bash , giusto?
    Gli exec sono in diverse varianti. Puoi passare un eseguibile+argomenti in unico String o separati in un String[].

    Quote Originariamente inviata da rizz1 Visualizza il messaggio
    Per eseguire il comando cut, dovrei avere tale file a disposizione. In ambiente Linux è semplce. In Windows devo scaricare una bash contentente tali file?
    Esistono "porting" su Windows dei tools di Linux/Unix.
    https://www.google.it/#q=grep+cut+windows

    Quote Originariamente inviata da rizz1 Visualizza il messaggio
    Hai suggerimenti su come posso visualizzare l'output da Java. Nel programma che ho fatto, il risultato del metodo exec() su un oggetto di tipo Runtime, è stato salvato in una variabile di tipo Process.Come posso vedere a video il risultato dell'esecuzione?
    Process ha getInputStream() / getErrorStream() che forniscono un InputStream (non conviene però leggere "a byte" ma incapsularli in InputStreamReader e/o altro di più alto livello).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.