[shell] variables

Résolu
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. 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
    1. Modérateur
      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
      ;-))
      1. je vais essayer ça ce soir merci les mecs... je vous tiens au jus
        1. Modérateur
          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
          1. 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
            1. Modérateur
              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
          2. Modérateur
            Salut,

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

            lami20j
            1. Modérateur
              Pour corriger lami20j ;)

              au lieu de var=r `command`

              lire var=`command`