Ich lerne über sed aber es ist sehr schwer für mich, es zu verstehen.sed: Ersetze ip in der hosts Datei, benutze hostname als Muster
Ich habe Adsl mit dynamischen IP so, und ich möchte aktuelle IP auf Hosts-Datei setzen.
Das folgende Skript sagt mir nur die aktuelle WAN-IP-Adresse und nicht mehr:
IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
echo $IP
Das Ergebnis:
192.42.7.73
Also, ich habe eine Linie auf Hosts mit der alten IP-Adresse Datei :
190.42.44.22 peep.strudel.com
und ich möchte, wie diese Host-Datei aktualisieren:
192.42.7.73 peep.strudel.com
Wie kann ich es tun? Ich denke, ich kann den Hostnamen als Muster verwenden ...
Der Grund dafür ist, weil mein Server ein Client meines Routers ist, so dass es das Internet über sein Gateway und nicht direkt zugreifen. Und postfix protokolliert mich immer, dass "connect from unknown [x.x.x.x]" (wobei x.x.x.x meine wan ip ist!) Und es kann diese IP nicht auflösen. Ich denke, dass, wenn ich dies in Verbindung mit meinem fqdn Host/Domain, auf Hosts-Datei, es funktioniert besser.
Danke Sergio.
danke, ich habe Ihr zweites Beispiel (alle in 1 Befehlszeile), hinzugefügt-i Parameter zu sed zum Speichern der Datei, wie Avinash Raj und Tiago vorgeschlagen. Es funktioniert :) (Hinweis: Ich fügte mehr Leerzeichen vor (+ peep.strudel.com), die Bearbeitung der ursprünglichen Post) – sergius
groß! : D.Ich habe die Leerzeichen in meiner Kommandozeile mit diesem Code "+" nach peep.strudel.com behandelt. – repzero
I +1 diese Frage, damit du 15 Wiederholer erreichen kannst, um abzustimmen! – repzero