bash script con esecuzione programmi in cascata

Se avete dubbi o domande sulla programmazione in generale, fatele qui
Rispondi
Avatar utente
ugaciaka
Little John
Messaggi: 1345
Iscritto il: 6 luglio 2008, 9:06
Località: Belluno
Contatta:

Messaggio da ugaciaka » 7 agosto 2008, 19:37

Salve raga, vorrei scrivere uno script che lanci wicd all'instaurazione della connessione.

Ovviamente, per ora, vorrei far partire checkgmail e poi pidgin...(o anche l'inverso)

Solo che se scrivo così parte uno ma il secondo no (insomma le ho provate tutte):

Codice: Seleziona tutto

#!/bin/sh
checkgmail
pidgin

Codice: Seleziona tutto

#!/bin/sh
checkgmail && pidgin

Codice: Seleziona tutto

#!/bin/sh
checkgmail ; pidgin

Codice: Seleziona tutto

#!/bin/sh
checkgmail || pidgin
l'unica che funziona è questa (mandando in background il primo)

Codice: Seleziona tutto

#!/bin/sh
checkgmail &
pidgin
Come faccio altrimenti? non penso che nel futuro avrò solo due programmi da avviare dopo l'instaurazione della connessione (magari metterò valknut, oppure torrent e via dicendo)

Grazie
non ho mai comprato su ebay, i macbook non mi piacciono, non ho bisogno di facebook né myspace né secondlife
non sono un nerd né lamer né troll né geek né cracker né hacker

Avatar utente
Berseker
Amministratore
Messaggi: 4432
Iscritto il: 27 settembre 2007, 10:18
Architettura: x86_64 (64bit)
Località: Lecco (provincia)

Messaggio da Berseker » 7 agosto 2008, 19:53

beh mettili tutti in background.. no? prova
Leggete il Regolamento e cercate sempre su googleforumwiki prima di chiedere.
Tag x thread risolti: [Risolto] + Spazio messo all'inizio del titolo. Grazie

ArchWiki / Board Internazionale / Blog

Avatar utente
ugaciaka
Little John
Messaggi: 1345
Iscritto il: 6 luglio 2008, 9:06
Località: Belluno
Contatta:

Messaggio da ugaciaka » 7 agosto 2008, 19:55

Berseker ha scritto:beh mettili tutti in background.. no? prova
sì ok è il doppio della mia unica soluzione funzionante di mettere il primo se ne ho due... ma ne avessi 100 e volessi che tutti e 100 partissero uno dopo l'altro (come succede con init) come si fa?
Tanto per sapere in futuro...lo stdout blocca l'esecuzione di quello che c'è dopo, ho provato anche a redirigere tutto su /dev/null per eseguire quello dopo ma niente da fare...
non ho mai comprato su ebay, i macbook non mi piacciono, non ho bisogno di facebook né myspace né secondlife
non sono un nerd né lamer né troll né geek né cracker né hacker

aleph
Robin Hood
Messaggi: 1530
Iscritto il: 12 febbraio 2008, 16:30
Contatta:

Messaggio da aleph » 7 agosto 2008, 20:16

se vuoi che lo script prosegua devi metterli in bg. . . dov'è il problema?
ImmagineOutside of a dog, computers are a man's best friend, inside a dog it's too dark to type.

Avatar utente
Berseker
Amministratore
Messaggi: 4432
Iscritto il: 27 settembre 2007, 10:18
Architettura: x86_64 (64bit)
Località: Lecco (provincia)

Messaggio da Berseker » 7 agosto 2008, 20:29

appunto.. forse non mi sono spiegato.. intendevo una cosa come

Codice: Seleziona tutto

#!/bin/bash
programma1 &
programma2 &
programma3 &
..
..
programma1000 &
Ultima modifica di Berseker il 7 agosto 2008, 20:29, modificato 1 volta in totale.
Leggete il Regolamento e cercate sempre su googleforumwiki prima di chiedere.
Tag x thread risolti: [Risolto] + Spazio messo all'inizio del titolo. Grazie

ArchWiki / Board Internazionale / Blog

Avatar utente
ugaciaka
Little John
Messaggi: 1345
Iscritto il: 6 luglio 2008, 9:06
Località: Belluno
Contatta:

Messaggio da ugaciaka » 7 agosto 2008, 20:29

che non ho il controllo di farli partire uno dietro mano,
comunque altro problema: mi sono accorto che wicd non fa partire una cippa. Lo script funge benissimo, a wicd gli ho anche messo tutto il path ma niente da fare...penso che non funzioni proprio...
non ho mai comprato su ebay, i macbook non mi piacciono, non ho bisogno di facebook né myspace né secondlife
non sono un nerd né lamer né troll né geek né cracker né hacker

marco
Little John
Messaggi: 966
Iscritto il: 3 settembre 2007, 13:54
Architettura: x86_64 (64bit)
Località: Cagliari

Messaggio da marco » 7 agosto 2008, 21:00

vedi la pagina man di bash; da quello che ho capito bash normalmente non esegue il secondo programma finché il primo rimane in esecuzione; mi pare di aver visto sulla pagina man come farli eseguire contemporaneamente ma non ricordo il il punto dove ne parla.
Linux registered user # 443055

Rispondi