arithmétique de base : incrementer un variable :-( [Bash] - Shell/Batch - Programmation
Marsh Posté le 13-03-2003 à 12:08:36
eval() ?
Marsh Posté le 13-03-2003 à 12:32:17
bobuse a écrit : Voila, comment kon fait pour incrementer une variable dans une boucle ? |
|
tout simplement avec expr, voir son man page pour voir les options d'expr
@+
Marsh Posté le 13-03-2003 à 12:37:13
ne fais pas les evals dans un $(()) c'est trop peu compatible entre les differents shells unix (ou linux).
en plus expr est une commande crée pour manipuler les changement de status tu peux meme y multiplier ou diviser une variable..
var=$var+1 evectivement c'est pour ajouter +1 à la fin de la chaine de caractere.
blablalbla > I.log.`date "+%y%m%d"`
cree le fichier non pas I.log.`date "+%y%m%d"` mais I.log.030313
Marsh Posté le 13-03-2003 à 12:52:40
vimaster a écrit :
|
thx
Marsh Posté le 13-03-2003 à 12:56:03
suaf que expr ca appelle un fork à chaque fois et c'est chiant à ecrire
essaye
i=$(($i + 1))
Marsh Posté le 13-03-2003 à 13:00:05
++Taz a écrit : suaf que expr ca appelle un fork à chaque fois et c'est chiant à ecrire |
Citation : j'ai donc essayer var=$(($var+1)), mais il en veut pas ! |
Perdu
Marsh Posté le 13-03-2003 à 13:08:48
++Taz a écrit : suaf que expr ca appelle un fork à chaque fois et c'est chiant à ecrire |
Le fork, perso je m'en fout, c'est juste pour un petit script de merde qui lit des donnees dans des fichiers, et trace des courbes ... Je trouve pas ca chiant a ecrire ... c'est du bash quoi !
Marsh Posté le 14-03-2003 à 15:12:44
$((i+1)) ou $((++i))
Marsh Posté le 14-03-2003 à 15:34:17
minusplus a écrit :
|
Code :
|
Citation : test.sh: erreur de syntaxe ligne 5: `i=$' inattendue |
de toutes facons, c'est bon, ca marche avec expr
Marsh Posté le 14-03-2003 à 15:38:03
bobuse a écrit :
|
restons souple...
|
Marsh Posté le 14-03-2003 à 18:25:20
sinon regardez seq
for i in $(seq 10)
Marsh Posté le 19-03-2003 à 13:29:10
$((.....)) n'est pas compatible à tous les shells utiliser expr si
.
Marsh Posté le 13-03-2003 à 11:20:54
Voila, comment kon fait pour incrementer une variable dans une boucle ?
J'ai bien sur essayer
var=0
var=$var+1
et bien sur ca me donne : 0+1 !
dans le Reference manual, il parle de $(( )) pour evaluer une expression, j'ai donc essayer var=$(($var+1)), mais il en veut pas !
Voila, c'est un peu tout bete, mais bon ...
---------------
get amaroK plugin