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 :

Lister récursivement les fichiers d'un répertoire


Sujet :

Shell et commandes GNU

  1. #21
    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
    on peut aussi, bien que ce ne soit pas recommandé, vouloir boucler sur une variable simple ("plate") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var="a b c d"
    for i in $var; do : ce qu'on veut faire avec "$i"; done
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  2. #22
    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
    Citation Envoyé par disedorgue Voir le message
    Perso, je ne vois qu'un seul cas où on peut-être amené à ne pas mettre de guillemets, c'est via echo lorsque l'on veut se débarrasser des retours à la ligne ou supprimer les espaces redondants ou faire juste du TRIM . Et cela se fait via un echo, VAR=$VAR ne le fera pas.
    Comme dit précédemment, il y a le cas où on veut exécuter une commande dans une variable (avec, évidemment, des risques comparables à l'usage de eval :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ a='echo coucou'
     
    $ "$a"
    -bash: echo coucou: command not found
     
    $ $a
    coucou
    Il y a aussi le nombre d'arguments qui change:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $ cat nb-args.sh
    #!/bin/bash
    echo $#
     
    $ a=''
    $ ./nb-args.sh $a
    0
    $ ./nb-args.sh "$a"
    1
    Du coup, certaines commandes (dont je ne me souviens plus trop. "gcc", peut-être?) voient un argument chaine vide comme très différent de l'absence de l'argument :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if condition; then arg='-x'; else arg=''; fi
    if true
    then commande $arg toto
    else commande "$arg" toto
    fi
    Il y a aussi l'argument d'une boucle for:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ x='a b c'
    $ for i in "$x"; do echo $i; done
    a b c
     
    $ for i in $x; do echo $i; done
    a
    b
    c
    [EDIT] Oops! Je n'avais pas vu le message de N_BaH sur la page 2...

    Et probablement d'autres... non ?

  3. #23
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 273
    Points : 12 708
    Points
    12 708
    Par défaut
    D'où mon message, pour moi, le seul viable est juste pour du cosmétique coté affichage. Le cas de N_BaH était vrai avant, maitenant, on a les tableaux, donc autant les utiliser...
    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Lister les fichiers d'un répertoire dans une feuille Excel
    Par AlainTech dans le forum Contribuez
    Réponses: 3
    Dernier message: 10/03/2016, 14h14
  2. [C++/Unix] Lister les fichiers d'un répertoire
    Par bouazza92 dans le forum Linux
    Réponses: 5
    Dernier message: 10/12/2013, 22h07
  3. Script Shell : lister tous les fichiers d'un répertoire et sous rép
    Par raton_laveur dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 22/01/2009, 16h43
  4. lister les fichiers d'un répertoire et les ouvrir
    Par thong36 dans le forum Langage
    Réponses: 1
    Dernier message: 18/10/2006, 10h43
  5. [CF][PPC/C#] Comment lister les fichiers d'un répertoire ?
    Par dady dans le forum Windows Mobile
    Réponses: 18
    Dernier message: 20/05/2005, 14h35

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