hi,
ein syntax problem ist gerade dabei, mir den letzten nerv zu rauben.
ich will eine reihe IPs (die stehen in der datei ips.allow) anpingen und den jeweiligen exit-status in variablen namens "exit{zugehörige IP}" speichern.
hier mal der code, wie ich es realisiert hätte:
for IP in `cat ips.allow | grep 192.168.10`
do
ping -c2 $IP
exit{$ip}=`echo $?`
#testhalber nur ein echo
echo $exit{$ip}
done
leider funktioniert das ganze so nicht (ich habe noch zig schreibweisen probiert, bin leider nicht auf keinen grünen ast gekommen).
normal dürfte das ganze nur ein syntax problem sein.
weiß wer, wie ich es ausdrücken muss?
vielen dank schon im vorraus
Linux 14.983 Themen, 106.385 Beiträge
Variablen müssen immer erst deklariert und definiert werden, bevor sie verwendet werden können. Da du nicht genau weiß, wie viele Adressen du anpingen willst kannst du auch nicht die richtige Anzahl Variablen in deinem Script deklarieren.
Du kannst das Ergebnis aber in eine Datei mit dem Operator > umleiten !
Wenn du dann in einem anderen Script die Daten wieder einlesen willst, mußt du einen neuen Datenstrom (stdin, stdout und stderr werden immer automatisch geöffnet)öffnen:
Kanalnummer
Kanalnummer muß größer als 2 sein.
Du kannst dann eine zeile nach der anderen aus der datei auslesen.
Am Ende muß der neue Kanal wieder geschlossen werden:
Kanalnummer
In ander