info su script

4 risposte [Ultimo messaggio]
Ritratto di gennaro90
gennaro90
(Junior)
Offline
Junior
Iscritto: 10/04/2013
Messaggi: 36

Salve ragazzi, come va?
Avrei bisogno di un aiutino. Sto scrivendo uno script dove vorrei "dare in pasto" diverse istruzioni in successione (servono per connettere un robot al pc per un progetto all'uni). il problema è che queste istruzioni devono essere lanciate in diversi terminale perché devono essere eseguite in contemporanea.
Mi potete dire quali righe di codice servono per aprire un nuovo terminale e inserire una nuova istruzione mentre le altre sono in run?

Grazie in anticipo per l'aiuto Big Hug

PC: Toshiba Satellite Pro; Processore Intel Core 2 Duo, 2GHz; 4Gb Ram; Adattatore Grafico Mobile Intel GMA 4500MHD;

Linux 3.7.10-1.16-pae - openSuse 12.3 (Dartmouth) (i586) - KDE 4.10.5

Ritratto di aksaf
aksaf
(Guru)
Offline
Guru
Iscritto: 08/03/2011
Messaggi: 957

Um, direi che puoi usare il carattere "&" per eseguire i comandi in background, assieme alle parentesi tonde "(" e ")" per eseguire un elenco di comando in una subshell, in breve in uno script:

( elenco di comandi; )&
( altro elenco di comandi; )&

questa ricerca dovrebbe fornirti tutte le istruzioni necessarie, assieme a questa
Per avere delle risposte più precise (o più accurate, se quello che avevi in mente era altro da subshell+jobs in background) probabilmente dovresti fornire qualche info in più/più dettagli.

Ciao (per ora)

Ritratto di gennaro90
gennaro90
(Junior)
Offline
Junior
Iscritto: 10/04/2013
Messaggi: 36

Grazie aksaf.... in parte quello che mi serviva era solamente la subshell quindi mettendo le ()& ho risolto Applause però mi serve solo un'ultima cosa... c'è un comando che dato nel terminale mi permette di controllare con la tastiera il robot... quindi avrei bisogno di lanciarlo in un terminale a parte e non in background. c'è un modo per aprire un nuovo terminale e dargli questo comando in automatico?

PC: Toshiba Satellite Pro; Processore Intel Core 2 Duo, 2GHz; 4Gb Ram; Adattatore Grafico Mobile Intel GMA 4500MHD;

Linux 3.7.10-1.16-pae - openSuse 12.3 (Dartmouth) (i586) - KDE 4.10.5

Ritratto di aksaf
aksaf
(Guru)
Offline
Guru
Iscritto: 08/03/2011
Messaggi: 957

Nell'ambito di una sessione grafica?
Prova con

( xterm -hold -e comando; )&

oppure
( konsole --hold -e comando; )&

o, per "zittire" il comando
( exec &>/dev/null; xterm -hold -e comando; )&

(evita le parentesi tonde se non ti serve una subshell, ovviamente;
vedi inoltre, con man bash l'uso di fg (eventualmente disown), che potrebbe esserti utile.

Ritratto di gennaro90
gennaro90
(Junior)
Offline
Junior
Iscritto: 10/04/2013
Messaggi: 36

Salve ragazzi, scusate se scrivo ora dopo tanto tempo. Ho provato lo script sul robot e devo dire che funziona abbastanza bene grazie ai consigli di aksaf. Metto risolto Smile grazie ancora

PC: Toshiba Satellite Pro; Processore Intel Core 2 Duo, 2GHz; 4Gb Ram; Adattatore Grafico Mobile Intel GMA 4500MHD;

Linux 3.7.10-1.16-pae - openSuse 12.3 (Dartmouth) (i586) - KDE 4.10.5