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 POSIX Discussion :

Problème commande de substitution


Sujet :

Shell et commandes POSIX

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 80
    Points : 43
    Points
    43
    Par défaut Problème commande de substitution
    Bonjour,

    Je souhaite affecter à une variable le chemin d'un fichier se trouvant lui meme dans un fichier

    Le fichier c:/donnees/chemin.txt comporte le chemin texte suivant
    c:\donnees\bet.tif

    lorsque je tape

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cat c:/donnees/chemin.txt
    c:\donnees\bet.tif
    mais lorsque je l'utilise dans une commande de substitution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var_a=`cat c:/donnees/chemin.txt`
    c:\donneeset.tif
    il ne reconnait pas la suite de caractere \b

    idem si le nom du fichier commence par r ou 0
    J'ai essayé de passer le fichier sous la commande dos2unix mais ca ne change rien.

    Merci pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Qu'entends-tu par "il ne reconnait pas la suite de caractere \b" ?

    Il semble que tu n'aies pas donné le code complet. As-tu utilisé la commande "echo"? Comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var_a=`cat c:/donnees/chemin.txt`
    echo "${var_a}"
    c:\donneeset.tif
    Si c'est bien ça, c'est justement que la commande "echo" reconnaît bien la suite de caractères \b contenue dans la variable et l'interprète comme... je ne sais pas (peut-être back-tabulation?)

    Mais rassure-toi, la variable contient bien le \b.
    As-tu essayé de faire ls -l "${var_a}" pour vérifier que tu atteins bien ton fichier?
    Et il doit bien exister une option de "echo" qui permet de ne pas interpréter les échappements
    (ou alors, il faut faire (avant echo) du "sed" (genre sed -e 's/\\/\\\\/g' (à vérifier (pas de linux sous la main))))

    idem si le nom du fichier commence par r ou 0
    ou \n je suppose, qui sont interprétés comme return ou line-feed, etc.

    J'ai essayé de passer le fichier sous la commande dos2unix mais ca ne change rien.
    normal, c'est un pb de "echo" et non du format de fichier.

    HTH
    )jack(

Discussions similaires

  1. Problème avec la substitution de commandes
    Par essomba84 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 31/10/2011, 18h53
  2. Problème commandes MS DOS
    Par djalouk dans le forum Windows
    Réponses: 7
    Dernier message: 19/09/2007, 15h31
  3. problème commande ping
    Par Purple Haze dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 22/03/2007, 19h50
  4. problème commande shell compilation auto
    Par ludovic85 dans le forum C#
    Réponses: 1
    Dernier message: 07/02/2007, 12h28
  5. Problème commandes shell-trop d'arguments
    Par SuperCed dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 22/12/2006, 12h57

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