GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie ändert man /etc/hosts aus Shell-Skripten?

Lösung 1:

/etc/hosts möchte ich lieber nicht anfassen in Bezug auf Parsing und so. Ich würde einfach ein Verzeichnis namens /etc/hosts.d/ erstellen und erstellen Sie ein Skript, das Folgendes benötigt:

  • IP
  • Name
  • Aliase

erstellt eine (1) Datei mit einer (1) Zeile. Der Dateiname lautet <ip>.host und dann cat /etc/hosts.d/*host > /tmp/hosts.new && mv /tmp/hosts.new /etc/hosts . Fügen Sie vielleicht eine incron hinzu Ereignis, das /etc/hosts.d/ überwacht Verzeichnis und generiert /etc/hosts neu wann immer etwas passiert, werden Sie auf diese Weise auch alte Einträge los.

Lösung 2:

Schau mal bei augeas. Es verfügt über einen vorgefertigten Parser/Serializer für die Hosts-Datei (das steht sogar in ihrer Kurzanleitung) und wird mit einem einfachen Tool zum Vornehmen von Änderungen (augtool) geliefert.


Linux
  1. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  2. Wie verwendet Systemd /etc/init.d-Skripte?

  3. Wie schreibe ich ein automatisch bezogenes Shell-Skript in /etc/profile?

  4. So führen Sie Python-Skripte von der Shell aus

  5. Zeile mit Shell-Skript an die Datei /etc/hosts anhängen

Wie verwende ich if-else in Shell-Skripten?

CentOS / RHEL:So stellen Sie eine gelöschte /etc/passwd-Datei wieder her

Wie finde ich heraus, aus welchem ​​Ordner ein Prozess läuft?

So schließen Sie alle Dateien aus einem Verzeichnis in Shell-Skript ein (in diesem Fall /etc/init.d/iptables)

Wie entferne ich eine Zeichenfolge aus einer Datei über Shell-Skripte?

Wie arbeiten `/etc/hosts` und DNS zusammen, um Hostnamen in IP-Adressen aufzulösen?