Partage
  • Partager sur Facebook
  • Partager sur Twitter

desactiver l'interpretation de caractère special

bash script

    19 octobre 2021 à 15:50:32

    Bonjour

    Je suis entrain d'écrire un script d'installation et je veux desactiver l'interpretation du ' ...

    Dans mon script je cherche a recupérer l'adresse ip de ma machine avec cette commande

    MYIP=$(ip addr show wlan0 | grep -o 'inet [0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+' | grep -o [0-9].*)

    Sauf que lorsque je passe ma commande en script en faisant ça :

    echo 'MYIP=$(ip addr show wlan0 | grep -o 'inet [0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+' | grep -o [0-9].*)' >> ~/.bashrc

    J'ai l'impression qu'il interprète les ' :(

    J'ai essayé de placer un \  devant les ' mais ça n'a pas marché ...

    Pourriez-vous m'aider svp ?
    Merci


    • Partager sur Facebook
    • Partager sur Twitter
      19 octobre 2021 à 17:16:49

      sur la même ligne de commandes, quelle est la différence entre les deux grep ?
      pas ce qu'ils disent, mais la manière dont ils le disent.

      peu importe, c'est une mauvaise ligne.
      utilise awk, à la place, et récupère simplement le deuxième champ de la ligne souhaitée.

      -
      Edité par dantonq 19 octobre 2021 à 17:23:11

      • Partager sur Facebook
      • Partager sur Twitter

      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

        20 octobre 2021 à 15:00:47

        dantonq a écrit:

        sur la même ligne de commandes, quelle est la différence entre les deux grep ?
        pas ce qu'ils disent, mais la manière dont ils le disent.

        peu importe, c'est une mauvaise ligne.
        utilise awk, à la place, et récupère simplement le deuxième champ de la ligne souhaitée.

        -
        Edité par dantonq il y a environ 16 heures


        bonjour merci pour ta réponse

        AU fait moi je veux écrire dans bashrc cette ligne

        MYIP=$(ip addr show wlan0 | grep -o 'inet [0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+' | grep -o [0-9].*)
        

        Je fais cela avec le echo et le  >> ~/.bashrc ..

        Sauf que le echo interprète les ' ...

        • Partager sur Facebook
        • Partager sur Twitter
          20 octobre 2021 à 19:59:17

          tu ne réponds pas à ma question.
          $ echo 'myIP=$(ip -br a show wlan0 | awk -F '\'' *|/'\'' '\''/inet/{print $3}'\'')'

          -
          Edité par dantonq 20 octobre 2021 à 23:33:00

          • Partager sur Facebook
          • Partager sur Twitter

          Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

          desactiver l'interpretation de caractère special

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown