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 :

remplacement/interprétation de variables


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2006
    Messages : 47
    Par défaut remplacement/interprétation de variables
    salut,

    voici mon script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!bin/sh
    MY_PATH="/var/lib/ldap"
    MY_FILE="/var/lib/ldap/test.fic"
    echo -ne "$(grep -v "*" $MY_FILE)"
    voici test.fic:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    du texte
    voici une variable: $MY_PATH
    encore du texte

    lorsque j'execute mon script, voici ce que j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    du texte
    une variable: $MY_PATH
    encore du texte
    mon problème se situe au niveau du remplacement de la variable $MY_PATH.
    je souhaiterais qu'à l'exécution de mon script celle-ci soit remplacée par ça
    valeur "/var/lib/ldap".

    savez-vous si cela est possible, et si oui comment il faudrait que je m'y prenne.

    merci.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Par défaut
    si je comprend bien le problème :
    pourquoi rechercher "*" avec le grep ????
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo -ne $(grep -v $MY_PATH $MY_FILE)
    ne serait pas plus exacte ?
    tu desire bien toute les ligne SAUF celle avec le contenue de MY_PATH ?

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2006
    Messages : 47
    Par défaut
    non, je souhaite afficher le contenu du fichier et remplacer toutes les variables de mon fichier par leur valeur que j'ai définie dans mon script.
    --> peut-être que mon utilisation de grep n'est pas judicieuse.


  4. #4
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    Il est tout à fait normal que cela ne fonctionne pas

    Sans détails supplémentaire, je dirais qu'il suffit de mettre le tout dans un seul shell avec par exemple une boucle de lecture ligne par ligne

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Par défaut
    s'il s'agit juste d'afficher utilise sed , genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sed s/\$MY_PATH/$MY_PATH/g test.fic
    cela devrait fonctionner tres bien sans etre compliquer

  6. #6
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2006
    Messages : 47
    Par défaut
    ta solution a l'air intéressante, cependant la commande ne fonctionne pas.
    j'ai un message d'erreur du genre:

    sed: -e expression n°1, caractère 18: option inconnue pour `s'

    où est l'erreur?

    merci

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

Discussions similaires

  1. Interpréter une variable contenue dans un fichier texte
    Par frederic_s dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 11/10/2007, 14h06
  2. Réponses: 5
    Dernier message: 19/07/2007, 13h06
  3. Probléme pour remplacer = dans une variable
    Par koKoTis dans le forum Scripts/Batch
    Réponses: 18
    Dernier message: 05/06/2007, 13h37
  4. Non interprétation des variables
    Par usf70 dans le forum wxPython
    Réponses: 3
    Dernier message: 09/05/2007, 13h21
  5. [ASP] include remplacer chemin par variable
    Par damn dans le forum ASP
    Réponses: 3
    Dernier message: 01/10/2004, 15h27

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