Somme en bash

Bonjour,
en essayant d'exécuter ce bout de code;
for i in $machines ; do
        value='cat $i'
        res='echo "${res}+${value}" | bc'
         done

j'ai l'erreur suivante : expr: non-numeric argument

Merci de m'aider :)

2 réponses

  1. Contributeur
    Salut,

    Y'a quoi dans la variable "$machines" ?

    Qu'essaies-tu de faire exactement ?
    1. En gros mon programme s'exécute en parallèle sur plusieurs machines. Alors le fichier machines, contient les adresses de toutes mes machines. Après exécution de sa tache, chaque machine écrit son résultat (un réel) dans un fichier portant comme nom son adresse. Donc schématiquement,
      machines contient:
      adresse1
      adresse2
      adresse3
      ...etc
      et on lire dans adresseN: -1.0982789736

      Merci
      1. Contributeur
        Ok.

        Par contre il faudrait afficher ton script en entier, parce que l'erreur retournée "expr: non-numeric argument" fait état de la commande "expr", commande qui n'apparait pas dans ton bout de code ;-((

        Rajoute aussi "set -xv" en dessous de ton shebang afin de débuguer ton script et voir peut être un peu mieux où ça coince, notamment voir si les variables sont bien remplies et interprétées...
      2. Ouiiiiiiii l'erreur ne venait pas de la boucle mais plutôt de ça res='expr $res \* 4' une ligne qui se trouve juste en dessous. Merci pour ton aide !