ciao a tutti, sempre io...
Sto cercando di fare uno script per l'installazione di alcuni driver e volevo fare una cosa dinamica che nel caso ci sia una connessione internet funzionante i driver vengono scaricati da internet (i più aggiornati), altrimenti vengono utilizzati quelli forniti con lo script.
Come faccio? Se qualche buon'anima mi posta la soluzione (in bash) di un then/else per i due casi con un pò di spiegazione per i comadi usati ne sarei grato.
In sintesi cerco una cosa: "controllo se è presente una connessione ad internet funzionante" "echo c'è" "echo non c'è".
controllo connessione per script
- bud
- Scoppiettante Seguace

- Messaggi: 789
- Iscrizione: domenica 11 giugno 2006, 20:31
- Desktop: ubuntu
- Distribuzione: Ubuntu 14.04 64bit
- Località: Vicenza
- Contatti:
controllo connessione per script
Portatile: eMachines eM355 | Fisso: Packard Bell iMedia 8301
- bud
- Scoppiettante Seguace

- Messaggi: 789
- Iscrizione: domenica 11 giugno 2006, 20:31
- Desktop: ubuntu
- Distribuzione: Ubuntu 14.04 64bit
- Località: Vicenza
- Contatti:
Re: controllo connessione per script
Andando a naso con un ping si dovrebbe risolvere, con il comando
mi restituisce
Un ping basta e avanza, solo che devo buttare tutto in then else, come si fa a fare che se ricevo "1 received" > "then faccio quello che devo fare" else (quindi 0 received) "faccio dell'altro?"
Codice: Seleziona tutto
ping -c 1 www.google.com | grep "received"Codice: Seleziona tutto
1 packets transmitted, 1 received, 0% packet loss, time 0msPortatile: eMachines eM355 | Fisso: Packard Bell iMedia 8301
-
koteko
- Prode Principiante
- Messaggi: 41
- Iscrizione: domenica 20 luglio 2008, 0:56
- Località: Roma
- Contatti:
Re: controllo connessione per script
All you need is awk 
Penso che questo vada bene:
awk '{print $4}' prende in input (in questo caso da pipe) una stringa, la tokenizza con il separatore di default spazio e stampa il quarto valore 
Penso che questo vada bene:
Codice: Seleziona tutto
var=`ping -c 1 www.google.com | grep "received" | awk '{print $4}'`
if [ $var = 1 ]; then
echo "Done";
else
echo "Err";
fi- bud
- Scoppiettante Seguace

- Messaggi: 789
- Iscrizione: domenica 11 giugno 2006, 20:31
- Desktop: ubuntu
- Distribuzione: Ubuntu 14.04 64bit
- Località: Vicenza
- Contatti:
Re: controllo connessione per script
Ok, per andare va, quasi, solo che nel caso non ci sia una connessione il risultato che mi mostra è
Però dici che il funziona lo stesso? Perchè non capisco se Err che stampa è perchè è un errore suo o perchè visto che non c'è stato il ping, la variabile var non può essere 1 e quindi il ciclo stampa Err (quindi potrei far andare lo stesso il programma se al posto di err ci metto ciò che mi serve?)
interessante però questo awk...
Codice: Seleziona tutto
ping: unknown host www.google.com
[: 8: 1: unexpected operator
Err
interessante però questo awk...
Portatile: eMachines eM355 | Fisso: Packard Bell iMedia 8301
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti