C shell (sh): question a 1Euro: comment incrementer une valeur? - Shell/Batch - Programmation
Marsh Posté le 13-05-2004 à 11:15:29
j'ai deja essaye mais j'ai in message d'erreur:
pour $j=$j+1 j'ai " 1=1+1 : commande not found "
et pour $eps=$eps*10 j'ai "0.000001*10 : command not found "
en fait, il ne fait pas le calcul, il recupere juste l'expression....
Marsh Posté le 13-05-2004 à 11:23:01
man bash me dit:
Citation : |
Marsh Posté le 13-05-2004 à 11:37:15
j'ai aussi essaye:
j=$j+1 : il comprend j= "1+1" donc il ne recupere que
l'expression
j=${j+1} : il ignore l'expression
${j=j+1} : il comprend "1" tout le temps
voila ou j'en suis...
Marsh Posté le 13-05-2004 à 11:40:19
t'es sûr d'avoir vraiment lu ce que j'ai collé ici?
j'ai pas parlé d'accolades mais de crochets ou de double parenthèses
$j=$[j+1]
tu le tapes sous la console ça marche ça:
Citation : |
Marsh Posté le 13-05-2004 à 11:54:37
desolee, je suis bigleuse, hihi.
euh, voila ce que j'ai sur ma console:
$>j=1; echo $[j+1]
1
ca ne marche pas...
Marsh Posté le 13-05-2004 à 12:00:33
dans mon script, j'ai essaye $j=$[j+1] et ca comprend 1=2 donc il n'en veut pas.
Si j'essaye j=$[j+1] la ca marche bien!!
En revanche, pour eps=$[eps*10] ca ne marche pas:il met syntax error.
L'operateur multiplication, c'est bien <*> ?
(a cq iteration, je veux multiplier eps par 10 et eps n'est pas un entier)
Marsh Posté le 13-05-2004 à 17:23:40
cassiopee31 a écrit : dans mon script, j'ai essaye $j=$[j+1] et ca comprend 1=2 donc il n'en veut pas. |
Utilise expr :
Code :
|
Marsh Posté le 14-05-2004 à 00:46:56
En tout cas man bash est clairement la dernière chose à faire puisqu'ici on parle de csh.
Marsh Posté le 13-05-2004 à 09:59:08
coucou!
je suis en train de faire une petit script en C-shell avec une boucle while mais quand j'incremente mon compteur, ca ne marche pas
voila ma boucle:
j=1
eps=0.000001
while [ $j -le 10 ];
do
echo $eps >> parametre.dat
./ALI < parametre.dat
j=j+1
eps=eps*10
done
il ne comprend pas j=j+1 et il m'ecrit "eps*10" dans mon fichier au lieu de la valeur numerique de eps*10. Quelle est la bonne syntaxe, svp?
merci!!