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

Administration système Discussion :

[BASH]-mettre contenu fichier dans variable


Sujet :

Administration système

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 12
    Points : 10
    Points
    10
    Par défaut [BASH]-mettre contenu fichier dans variable
    Bonjour,
    J'ai un fichier contenant une commande rsync et une variable rsync dans mon script bash

    J'aimerai savoir comment faire pour mettre le contenu du fichier dans la variable

    J'ai essayé rsync < /Donnees/RSYNC/rsync.txt
    mais quand j'exécute $rsync
    il me met qu'il y a une erreur de syntaxe pour la commande rsync et qu'il faut voir le man de rsync

    Voilà :-)
    J'espère que quelqu'un pourra m'aider

  2. #2
    Membre confirmé Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Points : 515
    Points
    515
    Par défaut
    Bonjour,

    N'utilises pas de variables qui porte le même nom qu'une commande existante car ici le shell redirige ton le contenu de ton fichier dans la commande rsync et non ta variable. De plus, cela sera plus clair pour toi et pour ceux qui reliront ton script...

    Si tu veux récupérer le contenu d'un fichier texte pour la mettre dans une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var=`cat fichier.txt`
    Si ensuite tu veux exécuter cette variable parce qu'elle contient une commande :
    Exemple sur ton rsync :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cmd=`cat /Donnees/RSYNC/rsync.txt`;$cmd
    ou dans un script sur plusieurs lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cmd=`cat /Donnees/RSYNC/rsync.txt`
    $cmd

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    ce sera plus rapide ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cmd="$(</Donnees/RSYNC/rsync.txt)"
    $cmd
    et ça ne fait pas d'uuoc en Bash.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre confirmé Avatar de mptijr
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    408
    Détails du profil
    Informations personnelles :
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 408
    Points : 503
    Points
    503
    Par défaut
    Beniou : ton explication est plus claire car je pense que Tipié doit être un débutant en programmation bash.


    Aucune question n'est bête quand on veut apprendre.

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut en Bash
    L'explication de Beniou serait plus valable s'il ne faisait pas d'uuoc (j'insiste, car il faut en finir avec ça en Bash).
    C'est un pléonasme: ça semble utile pour expliquer rapidement le fonctionnement du pipe, mais ce n'est pas une pratique à prodiguer pour un usage courant du Bash.


    même/surtout les débutants ont droit à ce que ne leur soit pas donné, comme point de départ, des c.../erreurs.

    ...
    Voilà, maintenant, j'suis tout énervé !

    --
    les uuoc sont un non-sense non drôle !
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre confirmé Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Points : 515
    Points
    515
    Par défaut
    Oula mon but n'était pas d'énerver des personnes dans l'assemblée...

    Effectivement, je comprends mieux maintenant ce qu'est l'uuoc. Merci N_BaH.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/02/2013, 11h02
  2. récupérer contenu fichier dans une variable
    Par kalyparker dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 02/07/2007, 18h10
  3. Transferer contenu fichier dans variable
    Par pharaonline dans le forum Langage
    Réponses: 7
    Dernier message: 16/01/2007, 15h00
  4. Mettre un fichier dans un tableau
    Par peuf23 dans le forum Langage
    Réponses: 3
    Dernier message: 26/07/2005, 10h47
  5. Interet de mettre des fichiers dans une base de donnée
    Par Oberown dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 04/07/2005, 11h35

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