Avevo già parlato di come automatizzare comandi bash (Linux) da terminale. Di default la procedura esegue comandi in successione; può essere utile e interessante però anche vedere come eseguire comandi in contemporanea.

Non è difficile da fare, distinguiamo questi due casi diversi:

  • scrivere il codice direttamente da terminale: con il comando del terminale usato (es. mate-terminal, konsole, ecc), quindi ad esempio scrivere nel terminale:

mate-terminal -- htop; mate-terminal -- htop

In questo caso apre due nuove finestre del terminale, ognuna con il comando htop (la prima invece resta vuota)

  • richiamare lo stesso script (bash .sh o .s) più volte:

mate-terminal -- bash file.sh; mate-terminal bash file.sh

    un mese dopo

    Giulio_M una precisazione:
    il comando

    mate-terminal -- htop; mate-terminal -- htop

    funziona, ma le due istruzioni vengono eseguite una dopo l'altra, anche a piccolissima distanza, in questo caso non crea problemi. Tuttavia, immaginiamo questa situazione:

    mate-terminal -- ping google.it; mate-terminal -- ping ethicalhacking.freeflarum.com

    In questo caso, il comando ping google.it non ha limiti di tempo, pertanto il secondo comando (ovvero ping ethicalhacking.freeflarum.com) NON verrà mai avviato!

    Quindi vediamo come risolvere la procedura: è sufficiente sostituire il simbolo ";" con "&", quindi:

    mate-terminal -- ping google.it & mate-terminal -- ping ethicalhacking.freeflarum.com

    In questo modo entrambi i comandi vengono avviati, anche se uno dei due comporta un tempo indefinito. Con il punto e virgola al posto dell'operatore AND (&) invece si attende il termine della prima istruzione prima di avviare la seconda.

      Powered by: FreeFlarum.
      (remove this footer)