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 :

Script bash pour parcourir la variable Path


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut Script bash pour parcourir la variable Path
    Bonjour,

    Je désire réaliser un scipt en bash pour parcourir la variable $Path et afficher les les repertoires qui sont les memes que nom que l'usager aura entré comme parametre.

    J'ai commencé mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #!/bin/bash
     
    echo $PATH
    Mai je suis bloqué au niveau de la boucle for car les repertoires dans la $Path sont séparés par des :

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for p in $(echo $PATH | tr ':' '\n'); do
        echo "->" $p;
    done

  3. #3
    LLB
    LLB est déconnecté
    Membre émérite
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Par défaut
    Puisque les chemins peuvent contenir des espaces, mieux vaut ne découper les tokens que selon les ":".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IFS=":"; for i in $PATH; do echo $i; done

  4. #4
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    Sinon, en mettant des guillemets autour du $() ça marche aussi.
    Mais utiliser la variable IFS est bien plus propre.

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Citation Envoyé par Celelibi Voir le message
    Mais utiliser la variable IFS est bien plus propre.
    Tu trouves ? Y a tellement d'effets de bord possible en utilisant cette IFS, je ferais juste un bon vieux | sed :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for p in $(echo $PATH | sed 's/:/ /g'); do
        echo "->" $p
    done

  6. #6
    LLB
    LLB est déconnecté
    Membre émérite
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Par défaut
    Quelle différence entre ton sed et le tr donné avant ? Mais tu as un problème s'il y a des espaces dans le PATH... Si tu veux utiliser une boucle for, tu dois modifier l'IFS pour gérer tous les cas.

    Pour éviter de toucher à l'IFS, on peut utiliser un while + read.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "${PATH}:" | while read -d':' line; do echo "$line"; done

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

Discussions similaires

  1. Script Bash pour exécuter requete SQL sur une base Oracle
    Par Flipmode dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 28/11/2008, 17h18
  2. script c pour mettre une variable ds un fichier
    Par majong dans le forum Linux
    Réponses: 3
    Dernier message: 13/03/2008, 15h57
  3. Script bash pour grub
    Par mplcd dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 04/12/2007, 12h44
  4. Réponses: 1
    Dernier message: 09/02/2007, 22h51
  5. Script shell pour persister les variables exportées
    Par Giovanny Temgoua dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 03/10/2006, 09h07

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