Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Comandi linux e Java

  1. #1

    Comandi linux e Java

    Salve a tutti,
    per inviare comandi bash linux da java utilizzo il solito process comnand = Runtime.getRuntime().exec(cmd);

    Funziona tutto alla perfezione, solo che la seguente stringa

    codice:
    String cmd = "cd /Home";
    accetta solo un comando ed il punto e virgola ("cd /Home; ls; etc.etc.") mi da errore.

    Avete la soluzione? Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Comandi linux e Java

    Originariamente inviato da internet.forum.
    codice:
    String cmd = "cd /Home";
    cd non è un file "eseguibile", è un comando interno ("built-in") interpretato dalla shell. Mentre exec di Runtime deve lanciare un "eseguibile", che potrebbe anche essere la shell.

    Questo vuol dire che dovresti ad esempio lanciare la shell bash:

    ....exec("/bin/bash -c cd blabla");

    Il punto è che questo sarebbe inutile, lanceresti una istanza della shell, gli faresti cambiare directory "corrente" ma la shell terminerebbe subito dopo senza aver fatto altro.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    è possibile digitare i comandi in sequenza ?

    Se provo ad inserire i vari comandi in un array, successivamente li mando in esecuzione con un foreach, soltanto che ad ogni ciclo probabilmente il terminale si chiude.

    Esempio:

    cd /home/
    ls
    ls -l

    Grazie

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.