Recupérer adresse IP [SHELL] - Shell/Batch - Programmation
Marsh Posté le 14-06-2005 à 17:05:44
Essaie ceci, que je trouve plus simple :
/sbin/ifconfig eth0 | grep inet | awk '{ print $2 }' |
Marsh Posté le 14-06-2005 à 17:15:45
noprob : a tout les coups, ton OS est en francisé et la sortie de ifconfig est differente (genre adr au lieu de addr) et donc le sed foire
Marsh Posté le 14-06-2005 à 17:19:19
Merci Elmoricq de ta solution mais le gagnant de la journée est nico168 !!!
MERCI noco168 c'était bien ca le probleme !!!! GROS GROS merci !
Marsh Posté le 14-06-2005 à 17:21:35
M'en moque, ma solution est indépendante de la langue, et plus lisible que cet énorme sed des familles.
Na.
Marsh Posté le 14-06-2005 à 17:50:30
Dans les scripts quand on parse la sortie d'un programe, c'est toujours une bonne idee de lancer le programe avec LANG=C (LANG=C /patch/to/program ... | filter).
Marsh Posté le 14-06-2005 à 18:49:09
Citation : Dans les scripts quand on parse la sortie d'un programe, c'est toujours une bonne idee de lancer le programe avec LANG=C (LANG=C /patch/to/program ... | filter). |
Tu peux etre plus explicite stp. Je ne comprend pas tes parenthèses et ce qu'il y a dedans.
(Google n'a pas été mon ami)
Marsh Posté le 15-06-2005 à 11:26:17
Elmoricq a écrit : M'en moque, ma solution est indépendante de la langue, et plus lisible que cet énorme sed des familles. |
Autant virer aussi le grep alors ...
ifconfig eth0 | awk '$1 == "inet" { split($2,Trunc,":" ) ; print Trunc[2] }' |
Marsh Posté le 15-06-2005 à 11:34:06
De fait, le grep pouvait se résoudre par un simple test dans awk.
Par contre ta ligne ne fonctionne pas chez moi.
Je ne sais pas comment est le retour d'ifconfig chez toi, mais chez moi ça donne :
$ ifconfig lo0 |
Si je comprends bien, pas de format "standard" de retour pour ifconfig, il faut adapter à sa plateforme.
Du coup, je dois faire :
$ ifconfig lo0 | awk '$1 == "inet" { print $2 }' |
Marsh Posté le 15-06-2005 à 12:37:55
Exact ... dans mon cas le champs $2 était addr:127.0.0.1 d'où le split.
Marsh Posté le 14-06-2005 à 16:50:48
Bonjour,
je cherche à recuperer mon ip mais juste mon ip pour un programme shell.
J'opère de la façon suivante:
/sbin/ifconfig eth0 | sed -n -e "s/^[[:space:]]*inet addr:\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\).*$/\1/p"
Pourtant cela n'affiche pas mon ip
Quelqu'un a t'il la solution à ce probleme ?
Merci d'avance