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 :
[^] # Re: utiliser eval ?
Posté par totof2000 . 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:
exemple 2: