• [^] # Re: eval expr...

    Posté par . En réponse au message Quoter une variable contenant des arguments de ligne de commande. Évalué à 2.

    ok pour l'ordre des options ou le =, en effet, ce n'est pas ca qui compte

    ton script marche chez moi à une seule condition, virer les guillemets :
    - lors de la creation de la variable liste_exclusion
    - ET ne pas les mettre sur la ligne de commande

    ce qui donne le script suivant

    #!/bin/bash
    exclusion=~/test/d3
    tar zcvf /tmp/test.tgz ~/test --exclude $exclusion
    
    

    mon arbre contient

    :/tmp$tree ~/test/
    /home/user/test/
    ├── d1
    │  ├── f11
    │  ├── f12
    │  ├── f13
    │  └── f14
    ├── d2
    │  ├── f21
    │  ├── f22
    │  ├── f23
    │  └── f24
    └── d3
     ├── d31
     │  ├── f311
     │  └── f312
     ├── d32
     └── f31
    
    

    et le script donne bien une archive ne contenant pas ~/test/d3

    /tmp/test.sh 
    tar: Suppression de « / » au début des noms des membres
    /home/user/test/
    /home/user/test/d2/
    /home/user/test/d2/f24
    /home/user/test/d2/f23
    /home/user/test/d2/f21
    /home/user/test/d2/f22
    /home/user/test/d1/
    /home/user/test/d1/f12
    /home/user/test/d1/f11
    /home/user/test/d1/f14
    /home/user/test/d1/f13