Linux 14.983 Themen, 106.385 Beiträge

shell script - syntax problem

higgl / 7 Antworten / Flachansicht Nickles

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

Never argue with an idiot. They drag you down to their level and then beat you with experience.
bei Antwort benachrichtigen
KarstenW higgl „hi asd, danke schon mal für die antwort. mir geht es aber besonders darum, den...“
Optionen

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

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
thx! higgl