Pagina 1 di 1

Non riesco a realizzare questo script per shell

Inviato: sab 17 feb 2007, 20:01
da mordecai
Praticamente io vorrei uno script,in cui l'utente immette un range di valori,che possono ad esempio essere ip,e vengono sottoposti allo stesso programma.

Ad esempio il ping:se voglio pingare dall'ip 1.1.1.1 al 1.1.2.2. come posso fare?

ping -opzioni ip,ma fecendo cosi devo scrivere 1000 volte lo stesso comando :cry:

E inoltre come posso redirezionare l'output in un file di testo?IO riesco solo a redirezionare una stringa... :?

Grazie! ;)

Inviato: sab 17 feb 2007, 21:55
da Karma
Per la scansione degli indirizzi devi utilizzare un ciclo for con 4 indici (ognuno per ogni numero dell'ip).
Per redizionare in un file o usi opzioni di salvataggio su file o più semplicemente posponi il simbolo ">" al comando mettendo accanto il nome in cui vuoi redizionarlo. es: ping IP > fileping.txt
Naturalmente per creare il ciclo devi verificare quale sia la sintassi del linguaggio di programmazione che stai usando...
Buon lavoro

Karma

Inviato: dom 18 feb 2007, 9:00
da gioco

Codice: Seleziona tutto

for ip in 1.1.1.1 1.1.1.2 1.1.2.1 1.1.2.2; do
ping -$OPZIONI $ip > file.out
done
Ti consiglio quest'ottima guida, con molti esempi: http://www.pluto.it/ildp/guide/abs.html

Inviato: dom 18 feb 2007, 13:20
da mordecai
gioco ha scritto:

Codice: Seleziona tutto

for ip in 1.1.1.1 1.1.1.2 1.1.2.1 1.1.2.2; do
ping -$OPZIONI $ip > file.out
done
Ti consiglio quest'ottima guida, con molti esempi: http://www.pluto.it/ildp/guide/abs.html
Ecco io vorrei una cosa simile,ma per 100 ip non posso mica scriverli tutti.

NOn ci sarebbe l'uso della wildcard ( * ) ???

comunque ora è periodo d'esame e non posso studiare la bash,ma quando mi sarò liberato la studierò tutta per bene!


GraziE! :lol:

Inviato: dom 18 feb 2007, 13:25
da mordecai
comunque ho provato a seguire l'esempio e mi dice:

Codice: Seleziona tutto

ping: unknown host £ip
Ciò succede quando l'ip immesso non è valido.

Inviato: dom 18 feb 2007, 14:13
da mauro
...secondo me succede se digiti una £ al posto di una $ :)

Inviato: dom 18 feb 2007, 16:26
da targzeta

Codice: Seleziona tutto

i=1; while (( $i < 100 )); do ping -$OPZIONI  1.1.1.${i} > file.out; let i++; done
Spina