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

Shell et commandes GNU Discussion :

protéger le contenu d'une variable


Sujet :

Shell et commandes GNU

  1. #1
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut protéger le contenu d'une variable
    Bonjour

    Je développe actuellement un script shell pour la mise à jour des ports sous FreeBSD dont voici un extrait :
    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
    daily_ports_update_enable="YES"
    
    date=`date +%d/%m/%Y`
    
    if [ ! -x /usr/local/bin/fastest_cvsup ]
    then
            echo '-> ${date} - $daily_ports_update_enable is set but' \
            "/usr/local/bin/fastest_cvsup isn't executable." \
            >> $daily_ports_update_logdir
            exit 0
    else
            server=`/usr/local/bin/fastest_cvsup -Qc \
            $daily_ports_update_country`
    fi
    Lorsque j'exécute le code, le contenu de mon fichier de log est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ${date} - $daily_ports_update_enable is set but /usr/local/bin/fastest_cvsup isn't executable.
    Maintenant si je change la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo "-> ${date} - $daily_ports_update_enable is set but" \
    "/usr/local/bin/fastest_cvsup isn't executable."
    J'obtiens le log suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -> 03/07/2007 - YES is set but /usr/local/bin/fastest_cvsup isn't executable.
    Je souhaite obtenir comme résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -> 03/07/2007 - $daily_ports_update_enable is set but /usr/local/bin/fastest_cvsup isn't executable.
    Je ne vois pas du tout comment faire

    Avez-vous des idées ?

    Merki

  2. #2
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Ben faut mettre tes " seulement, pour la variable dont il ne doit pas interpréter le contenu, tu la banalise, et pour ça, tu rajoute le \ avant le $, ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo "-> ${date} - \$daily_ports_update_enable is set but"
    ++
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  3. #3
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Citation Envoyé par buchs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo "-> ${date} - \$daily_ports_update_enable is set but"
    Tu as raison, je n'ai même pas pensé à cette solution

    Merki

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

Discussions similaires

  1. Afficher le contenu d'une variable
    Par mpat dans le forum ASP
    Réponses: 11
    Dernier message: 14/11/2005, 14h05
  2. Réponses: 7
    Dernier message: 25/10/2005, 15h19
  3. Imprimer/Visualiser le contenu d'une variable (VBS)
    Par Tartenpion dans le forum VBScript
    Réponses: 2
    Dernier message: 29/09/2005, 10h32
  4. Réponses: 3
    Dernier message: 27/07/2005, 15h12
  5. Réponses: 11
    Dernier message: 22/06/2005, 11h04

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