PDA

Visualizza la versione completa : un po' di scripting [problemi]


Certe Notti
11-05-2005, 15:28
salve a tutti,

io devo sviluppare uno scritp basato su bash, e ho dei punti in termini di comandi e sintassi in cui non mi trovo potreste darmi un aiutino?

dunque io voreei fare questo:

1) controllare se mi trovo nella mia rete e quindi interrogare il router a cui corrisponde un relativo indirizzo ip, se questo mi da esito positivo allora bene altrimenti mi viene mandato a vidfeo che non mi trovo nella mia rete e quindi che devo efettuare le operazioni a mano.
Questo if then come lo posso comporre?

Grazie

stai_tranquillo
11-05-2005, 15:40
route -n

stampa la tabella in formato:



Destination Gateway Genmask Flags Metric Ref Use Iface
172.18.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 172.18.0.5 0.0.0.0 UG 0 0 0 eth0


tu ti fai restituire questo e lo passi a sed in pipeline, per farti prendere solo l'ip del default (la regexp te la fai tu che non ho voglia)

poi i due (l'out e la variabile di confronto) li confronti come confrontidue variabili qualsiasi..

cosa non riesci a fare di preciso?

Certe Notti
11-05-2005, 16:16
no calma il tuo ragionamento avrebbe un senso se la connessione fosse attivata in startup del sistema ma io non avvio la connessione allo startup del sistema quindi ho bisogno di trovare un modo oer controllar esolo se esiste un certo dispositivo che mi va a corrispondere ad uno specifico indirizzo ip e soprattutto capire poi se quel dispositivo un'altra macchina o se il router :master:

grazie

stai_tranquillo
11-05-2005, 16:43
mica ho capito... :dott:


allora: tu vuoi sapere se la tua eth attiva o no?

oppure vuoi capire se l'indirizzo della tua eth un IP che fornisci tu allo script?

Certe Notti
11-05-2005, 16:46
no ho risolto in maniera diversa questo problema :)

ora per avrei bisogno di un altro aiutino..

dunque io devo dire:

if [condizione] ; then

else
touch appoggio.log
fi

la condizione deve verificarmi se in /home/ c' gi il file appoggio.log

grazie

Guglie
11-05-2005, 17:30
if [ ! -e nomefile ] ; then
touch appoggio.log
fi

Certe Notti
11-05-2005, 18:47
ragazzi qualcuno sa dirmi se c' modo con qualche opzione del comando ifconfig di estrapolare soltanto l'indirizzo ip della macchina

solo la stringa 192.168.0.255 per capirci senza tutte le atre informazioni che si vengono a visualizzare facendo

ifconfig eth0

grazie

Ikitt
11-05-2005, 18:51
Originariamente inviato da Certe Notti
ragazzi qualcuno sa dirmi se c' modo con qualche opzione del comando ifconfig di estrapolare soltanto l'indirizzo ip della macchina


/sbin/ifconfig $IFACE | awk '/inet addr/ { print $2}' | cut -d\: -f2


solo la stringa 192.168.0.255 per capirci[...]
Occhio, questo ha tutta l'aria di essere un'indirizzo di rete.

Certe Notti
11-05-2005, 19:04
si lo so... ma mi serve per fare un test... :madai!?:

a proposito non c' modo di separare l'indirizzo vero e proprio dal 127.0.0.1 di cui non mi faccio nulla...

grazie

Ikitt
11-05-2005, 19:08
Originariamente inviato da Certe Notti
a proposito non c' modo di separare l'indirizzo vero e proprio dal 127.0.0.1 di cui non mi faccio nulla...



IFACE=eth0

o ethX o quel che e`

Loading