• [^] # Re: utiliser eval ?

    Posté par . En réponse au message [RÉSOLU] Bash utiliser variable dans une commande du style result=$(commande | grep $variable). Évalué à 3.

    Tu ne fais pas le bon test ...
    Tu testes dans le premier cas la chaine retournée par la commande wc -l qui te retourne 1 (le nombre de lignes dans lequel ton montage apparaît), et dans un second cas le code retour de la commande qui correspond à la bonne exécution ou non de ta commande. En shell, le code retour d'une commande qui s'exécute bien est 0. Donc dans le second cas, tu auras un code retour de 0 qui ne correspondra pas au nombre de fs montés, mais au fait que ta commande s'est bien exécutée. Même si tu avais 2 ou 3 lignes qui correspondent à ton pattern, tu aurais toujours un code retour de 0 car en bash, un code retour de 0 signifie que la commande s'est bien exécutée, qu'il n'y a pas eu d'erreur. Exemple :

    exemple 1:

    $ echo "abc
    --- def
    --- fgh
    --- " | wc -l
    4
    $ echo "$?"
    0

    exemple 2:

    $wc -l ""
    wc: invalid zero-length file name
    $echo $?
    1