Mesdames, Messieurs,
Bonjour,

Je me permets de faire appel à vos lumières étant complètement coincé. Dans le cadre d'un projet, j'ai besoin d'ajouter dans le fichier /etc/hosts mon HOSTNAME.
Actuellement, j'ai le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
#!/bin/bash
 
...
 
# Setting /etc/hosts file
sed -i -e "s/\(127.0.0.1\)\([ \t]*\)\(.*\)/\1\2$HOSTNAME \3/g" /etc/hosts
Le problème avec cette ligne, c'est que je vais ajouter mon HOSTNAME N fois (où N correspond à mon nombre d'interface réseau).
Je sais qu'il est possible de matcher des patterns ne contenant pas une chaine devant ressembler à qqch du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sed -i -e "s/\(127.0.0.1\)\([ \t]*\)^\(\?\:\(\?\!$HOSTNAME\).\)*/\1\$HOSTNAME \3/g" /etc/hosts
mais vous vous doutez bien que ça ne marche pas du tout...

Si quelqu'un a une idée...
D'avance merci