• [^] # Re: Ordre d'évaluation

    Posté par . En réponse au message [résolu] Corriger des liens symboliques en masse. Évalué à 3. Dernière modification le 26 septembre 2012 à 00:25.

    ah chouette ! merci pour la réponse, j'ai appris un truc !

    du coup, en prenant en compte le commentaire de Barnabé sur l'évaluation du readlink, il "suffit" de faire ce qu'il faut pour readlink soit évalué à chaque itération au lieu d'être interpréter sur la ligne de commande.

    Du coup, on peut aussi s'en tirer avec:

    $ mkdir -p dir/link1 dir/link2 dir/link3
    $ touch dir/link1/1 dir/link1/2
    $ ln -s $(pwd)/dir/link1/* $(pwd)/dir/link2
    $ tree dir
    dir
    ├── link1
    │  ├── 1
    │  └── 2
    ├── link2
    │  ├── 1 -> /home/gab/dir/link1/1
    │  └── 2 -> /home/gab/dir/link1/2
    └── link3
    3 directories, 4 files
    $ find $(pwd)/dir/link2 -type l |xargs -I {} bash -c 'ln -s $(readlink -m {}) $(pwd)/dir/link3/'
    $ tree dir
    dir
    ├── link1
    │  ├── 1
    │  └── 2
    ├── link2
    │  ├── 1 -> /home/gab/dir/link1/1
    │  └── 2 -> /home/gab/dir/link1/2
    └── link3
     ├── 1 -> /home/gab/dir/link1/1
     └── 2 -> /home/gab/dir/link1/2
    3 directories, 6 files