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 :

Lire une ligne et mettre le résultat dans des variables


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 88
    Points : 63
    Points
    63
    Par défaut Lire une ligne et mettre le résultat dans des variables
    Bonjour

    J'ai une ligne dans une variable qui est
    je voudrais récupérer dans une
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    variable1=titi
    variable2=toto
    Si j'ai alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    variable1=titi
    variable2=toto
    variable3=tata
    Si vous pouvez m'aider car je ne sais pas par ou commencer

    Cordialement

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 596
    Points : 19 481
    Points
    19 481
    Par défaut
    Bonjour,

    avec un tableau :
    Code BASH : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $ ligne="/titi/toto/tata"
    $ IFS='/' read -a tableau <<<"${ligne#/}"
    $ printf '%s\n' "${tableau[@]}"
    titi
    toto
    tata
    mais est-ce bien nécessaire ?
    que vas-tu faire avec ces variables ensuite ? Serviront-elles à des endroits différents du script, ou seront-elles utilisées dans une seule boucle ?
    ...
    ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 88
    Points : 63
    Points
    63
    Par défaut
    Bonjour

    Merci pour votre réponse

    Ça marche super c'est ce qui me fallait

    Par contre a quoi sert IFS ??

    Ça vas me permettre de faire un script pour faire une sauvegarde en SFTP
    (vérifier si le répertoire de destination existe /Sauvegarde/sftp)

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 596
    Points : 19 481
    Points
    19 481
    Par défaut
    Citation Envoyé par man bash
    IFS Le séparateur de champs interne (« Internal Field Separator ») [...] est utilisé pour
    le découpage en mots après les développements et pour découper les lignes en mots
    avec la commande interne read. La valeur par défaut est « <espace><tab><changement
    de ligne> ».
    vérifier si le répertoire de destination existe /Sauvegarde/sftp
    et tu veux ne garder que le dernier léxème (sftp) ?
    Code BAHS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ ligne="/titi/toto/tata"
    $ echo "${ligne##*/}"
    tata

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par www.rubis Voir le message
    Ça vas me permettre de faire un script pour faire une sauvegarde en SFTP
    (vérifier si le répertoire de destination existe /Sauvegarde/sftp)
    Dans ce cas, pourquoi ne pas récupérer le nom du fichier ainsi que son répertoire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ basename /titi/toto/tata
    tata
     
    $ dirname /titi/toto/tata
    /titi/toto

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 88
    Points : 63
    Points
    63
    Par défaut
    Merci a tous pour vos réponse

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/07/2014, 19h08
  2. POO, stocker le résultat dans des variables
    Par nicolas2603 dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2012, 12h40
  3. Réponses: 10
    Dernier message: 15/10/2010, 11h31
  4. [Batch] lire dans un fichier et mettre le résultat dans une variable
    Par danydan01 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 09/06/2010, 13h28
  5. Réponses: 10
    Dernier message: 17/06/2006, 14h06

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