Rechercher : dans
Par :

Shell récupérer ip et hostname script

Dernière réponse le 23 fév 2009 à 17:20:26 Maillon, le 19 jun 2008 à 11:54:36 
 Signaler ce message aux modérateurs

Bonjour,

je fais actuellement un script en shell et j'aurais besoin de récupérer l'adresse ip de la machine pour pouvoir l'utiliser ensuite. Le problème est que cette adresse ip est dynamic (dhcp).

Par ailleurs j'aimerai utiliser le nom de la machine dans mon script mais quand j'utilise un $HOSTNAME et bien rien ne se passe. Par contre quand je l'utilise dans un terminal "echo $HOSTNAME" là ça marche bien.

Avez-vous des idées ?

Merci.

Cordialement,

Configuration: Windows XP
Firefox 2.0.0.14

Meilleures réponses pour « Shell récupérer ip et hostname script » dans :
[Shell] Récupérer son IP publique VoirFinalité Pour plusieurs raisons, on peut avoir besoin de récupérer son adresse IP publique dans un script. Le problème qui se pose alors si l'on est sur un LAN, est de trouver cette IP sans interventions humaine. Mise en œuvre Le moyen le plus...
[RegExp] Récupérer une adresse IP VoirFinalité Mise en œuvre Explications Interprétation du motif Récupérer une adresse IP Finalité Pour récupérer une IP dans un fichier texte, fichiers journaux, pages web, etc. Mise en œuvre L'expression régulière suivante combinée à la...
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
Linux - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire le système...

1

Char Snipeur, le 19 jun 2008 à 13:20:48

Pour la machine, tu peux aussi utiliser "uname" (regarde le man pour savoir comment)
pour avoir l'IP, c'est plus compliquer, je ne connait de solution qu'en traitant une chaine de caractère.
Si tu utilise perl comme langage de script( ce que tu ne nous a pas préciser) ça ne devrais pas être trop compliquer.
Donc, pour récupérer l'IP, j'utiliserai soit ifconfig soit ping localhost ou ping $(uname ...).
Bonne chance Salutation ! avant je croyais, maintenant je suis fixé.Jésus Christ
Char Snipeur

Répondre à Char Snipeur

2

Maillon, le 19 jun 2008 à 13:56:06

Merci Char :)

En fait ce que je veux faire en claire c'est ça :

host=$(which hostname)
H="$host -f"

sed -i "s/192.168.1.1/$ip/g"
sed -i "s/nom-machine/$nouveau-nom/g"

Où $ip est l'ip de la machine sur laquelle le script est exécuté.
Où $nouveau-nom est le nom de la machine sur laquelle le script est exécuté.

Il faut que je récupère le nom de la machine (soit par la commande hostname ou uname) et que je mette le résultat dans la commande sed.

J'espère avoir été clair. :-)
Merci.

Cordialement,

Répondre à Maillon

3

Char Snipeur, le 19 jun 2008 à 14:23:54

Me manque toujours ton shell !
host=$(uname -n)
pour l'adresse IP, je n'arrive pas à l'avoir simplement décidement... Je pense qu'il faut oublié le ping et se concenter sur ifconfig. http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man8/­ifconfig.8.html
Par contre, sed -i n'est pas documenter dans la page de manuel.
Salutation ! avant je croyais, maintenant je suis fixé.Jésus Christ
Char Snipeur

Répondre à Char Snipeur

4

Maillon, le 20 jun 2008 à 17:00:01

En fait j'ai trouver il faut faire genre pour le hostname

HOST=`hostname`

par contre pour l'ip je cherche encore...

Répondre à Maillon

5

 Greewi, le 23 fév 2009 à 17:20:26
  • +1

Essaye :

ADRESS=`ifconfig eth0 | grep "inet adr" | sed 's/.*adr:\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]\).*/\1/'`

Répondre à Greewi
Collection CommentÇaMarche.net