IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

[bash] Problème des variables contenant du texte avec des espaces.


Sujet :

Linux

  1. #1
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut [bash] Problème des variables contenant du texte avec des espaces.
    Bonjour,

    J'ai un problème assez étrange en bash, mais je suis sur que vous allez trouver directement ce que c'est

    Personnellement j'ai le nez dessus depuis trop longtemps pour voir quelque chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/bash
     
    texte="Bonjour, je m'appelle maxoo\n\n"
    printf $texte
     
    printf "Bonjour, je m'appelle maxoo\n\n"
    Me renvoie :
    Bonjour,Bonjour, je m'appelle maxoo
    On voit bien que la première chaine n'est pas affichée, elle s'arrête au caractère espace.

    Moi qui suit si habitué au PHP, je ne comprends pas pourquoi je n'ai pas le droit de mettre un espace dans une chaîne de caractères.

  2. #2
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Bon a priori j'ai trouvé la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!/bin/bash
    
    texte="Bonjour, je m'appelle maxoo\n\n"
    printf "$texte"
    Je trouve bizarre le comportement de bash ...

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Citation Envoyé par Maxoo Voir le message
    Bon a priori j'ai trouvé la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!/bin/bash
    
    texte="Bonjour, je m'appelle maxoo\n\n"
    printf "$texte"
    Je trouve bizarre le comportement de bash ...
    1. espace est le séparateur d'argument par défaut de bash
    2. man printf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    NAME
     
         printf -- formatted output
     
    SYNOPSIS
     
         printf format [arguments ...]
    comparez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    #!/bin/bash
     
    texte="Bonjour, je m'appelle maxoo\n\n"
    printf $texte
    printf "%s" $texte
    printf "%s" "$texte"
    echo $texte
     
    echo "---"
    texte="Bonjour, je m'appelle maxoo
     
    "
    printf $texte
    printf "%s" $texte
    printf "%s" "$texte"
    echo $texte

  4. #4
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Citation Envoyé par JeitEmgie Voir le message
    1. espace est le séparateur d'argument par défaut de bash
    Ahh ... bah oui dit comme ça, on comprend mieux.

    Enfin voila, je me coucherai moins bête ce soir et mon projet avancera mieux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] UIControl Text avec des variables
    Par lekev62 dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 14/12/2009, 16h48
  2. Réponses: 1
    Dernier message: 08/09/2007, 19h06
  3. Import fichier texte avec des champs variables
    Par joshua12 dans le forum Access
    Réponses: 4
    Dernier message: 26/09/2006, 09h06
  4. [Sécurité] Problème avec des variables de session
    Par zoom61 dans le forum Langage
    Réponses: 28
    Dernier message: 18/08/2006, 21h05
  5. Réponses: 3
    Dernier message: 10/12/2005, 19h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo