[shell] variables

Résolu
buzz17 Messages postés 252 Statut Membre -  
buzz17 Messages postés 252 Statut Membre -
Hello all

juste un petite question
a la réalisation d'un script je me retrouve a utiliser cette commande
lynx --source http://www.monip.org | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p'

commande que j'ai pris ici shell recuperer son ip publique

le truc c'est que j'aimerais insérer le résultat donc @IP dans une variable (IP pas ex) de façon a pouvoir la resortir plus tard dans le script.
j'ai essayé un bête
ip=lynx --source http://www.monip.org | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p'

puis 

$ip pour afficher 
 

mais ça marche pas....

si quelqu'un a une idée !!!

Merci a vous
--
Computers are like air conditioners.
They don't work when you open Windows.

6 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    pour avoir le résultat d'une commande dans une variable on utilse ou var=$(command) ou var=r `command`

    lami20j
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Pour corriger lami20j ;)

      au lieu de var=r `command`

      lire var=`command`
      0
  2. buzz17 Messages postés 252 Statut Membre 33
     
    quand je fait
    ip=lynx --source http://www.monip.org | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p'
    

    ou ip est ma variable

    il me dit que ip n'est pas un reconnu comme un programme ...
    je n'ai plus le essage exacte... suis plus chez moi
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Re,

      essaie
      ip=$(lynx --source http://www.monip.org | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p')
      Peut être je dit des bêtises, je ne suis pas sous linux maintenant donc je n'ai pas vérifier ce que j'ai dit.


      lami20j
      0
  3. jisisv Messages postés 3678 Statut Modérateur 936
     
    Comme lami20j l'a expliqué, tu effectues ceci
    johan@johan:~$ ip=$(links -source http://www.monip.org | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p')
    johan@johan:~$ echo $ip
    XXX.XXX.XXX.XXX
    
    johan@johan:~$ #(j'utilise links , mais avec lynx c'est kif-kif je suppose. Ici j'ai l'option -source, sous lynx je suppose que c'est --source)
    johan@johan:~$
    

    Johan
    0
  4. buzz17 Messages postés 252 Statut Membre 33
     
    je vais essayer ça ce soir merci les mecs... je vous tiens au jus
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Tu peux aussi passer par un "alias" :
    alias IP="lynx --source http://www.monip.org | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p'"
    et ainsi appelé ta "pseudo" commande sans faire appel à "echo", simplement en tapant :
    IP
    ;-))
    0
  7. buzz17 Messages postés 252 Statut Membre 33
     
    OK
    problème résolu avec

    johan@johan:~$ ip=$(links -source http://www.monip.org | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p')
    
    johan@johan:~$ echo $ip
    XXX.XXX.XXX.XXX
    


    Un grand merci a vous tous
    0