Somme en bash

arbmainassara Messages postés 3 Statut Membre -  
arbmainassara Messages postés 3 Statut Membre -
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 :)

A voir également:

2 réponses

zipe31 Messages postés 38797 Statut Contributeur 6 433
 
Salut,

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

Qu'essaies-tu de faire exactement ?
0
arbmainassara Messages postés 3 Statut Membre
 
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
0
zipe31 Messages postés 38797 Statut Contributeur 6 433
 
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...
0
arbmainassara Messages postés 3 Statut Membre
 
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 !
0