GNU/Linux >> Tutoriels Linux >  >> Linux

comment modifier /etc/hosts à partir de scripts shell ?

Solution 1 :

Je préfère ne pas toucher /etc/hosts en termes d'analyse et autres. Je créerais simplement un répertoire appelé /etc/hosts.d/ et inventez un script qui prend :

  • ip
  • nom
  • alias

crée un (1) fichier avec une (1) ligne. Le nom du fichier sera <ip>.host puis cat /etc/hosts.d/*host > /tmp/hosts.new && mv /tmp/hosts.new /etc/hosts . Peut-être ajouter un incron événement qui regarde le /etc/hosts.d/ répertoire et régénère /etc/hosts chaque fois que quelque chose se passe, vous vous débarrasserez également des anciennes entrées.

Solution 2 :

Jetez un oeil à augeas. Il dispose d'un analyseur/sérialiseur prêt à l'emploi pour le fichier hosts (c'est même dans leur guide de visite rapide) et est livré avec un outil simple pour apporter des modifications (augtool).


Linux
  1. Créer un fichier Hosts spécifique à l'utilisateur pour compléter /etc/hosts ?

  2. Ajouter une ligne au fichier /etc/hosts avec le script shell

  3. Comment inclure tous les fichiers d'un répertoire dans un script shell (/etc/init.d/iptables dans ce cas)

  4. Comment puis-je annuler un chmod sur le répertoire etc?

  5. Différence entre /etc/hosts et /etc/resolv.conf

Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

Comment Systemd utilise-t-il les scripts /etc/init.d ?

Comment écrire un script shell à source automatique dans /etc/profile ?

Comment /etc/motd est-il mis à jour ?

Comment exécuter des scripts Python à partir du shell

Comment utiliser if-else dans les scripts shell ?