Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1115 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Bash] arithmétique de base : incrementer un variable :-(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Bash] arithmétique de base : incrementer un variable :-(

n°331944
bobuse
Posté le 13-03-2003 à 11:20:54  profilanswer
 

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 ... [:spamafote]


---------------
get amaroK plugin
mood
Publicité
Posté le 13-03-2003 à 11:20:54  profilanswer
 

n°332003
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 13-03-2003 à 12:08:36  profilanswer
 

eval() ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°332019
vimaster
i love vi editor it's the best
Posté le 13-03-2003 à 12:32:17  profilanswer
 

bobuse a écrit :

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 ... [:spamafote]  



machine2test(TESTOZOR):/tmp> I=1
machine2test(TESTOZOR):/tmp> I=`expr $I + 1`  
machine2test(TESTOZOR):/tmp> echo $I
2
machine2test(TESTOZOR):/tmp>  


 
tout simplement avec expr, voir son man page pour voir les options d'expr
 
@+


---------------
I love vi editor. it's the best one.
n°332023
vimaster
i love vi editor it's the best
Posté le 13-03-2003 à 12:37:13  profilanswer
 

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


---------------
I love vi editor. it's the best one.
n°332041
bobuse
Posté le 13-03-2003 à 12:52:40  profilanswer
 

vimaster a écrit :



machine2test(TESTOZOR):/tmp> I=1
machine2test(TESTOZOR):/tmp> I=`expr $I + 1`  
machine2test(TESTOZOR):/tmp> echo $I
2
machine2test(TESTOZOR):/tmp>  


 
tout simplement avec expr, voir son man page pour voir les options d'expr
 
@+


thx  [:xp1700]


---------------
get amaroK plugin
n°332042
Taz
bisounours-codeur
Posté le 13-03-2003 à 12:56:03  profilanswer
 

suaf que expr ca appelle un fork à chaque fois et c'est chiant à ecrire
 
essaye
i=$(($i + 1))

n°332045
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 13-03-2003 à 13:00:05  profilanswer
 

++Taz a écrit :

suaf que expr ca appelle un fork à chaque fois et c'est chiant à ecrire
 
essaye
i=$(($i + 1))


Citation :

j'ai donc essayer var=$(($var+1)), mais il en veut pas !


 
Perdu [:ddr555]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°332050
bobuse
Posté le 13-03-2003 à 13:08:48  profilanswer
 

++Taz a écrit :

suaf que expr ca appelle un fork à chaque fois et c'est chiant à ecrire
 
essaye
i=$(($i + 1))


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 !


---------------
get amaroK plugin
n°333555
minusplus
Posté le 14-03-2003 à 15:12:44  profilanswer
 

:crazy:
 
 
$((i+1)) ou $((++i))


Message édité par minusplus le 14-03-2003 à 15:13:50
n°333596
bobuse
Posté le 14-03-2003 à 15:34:17  profilanswer
 

minusplus a écrit :

:crazy:
 
 
$((i+1)) ou $((++i))

Code :
  1. #!/bin/sh
  2. i=5
  3. i=$((i+5))
  4. echo $i

 
 
 

Citation :

test.sh: erreur de syntaxe ligne 5: `i=$' inattendue

 
de toutes facons, c'est bon, ca marche avec expr


---------------
get amaroK plugin
mood
Publicité
Posté le 14-03-2003 à 15:34:17  profilanswer
 

n°333599
minusplus
Posté le 14-03-2003 à 15:38:03  profilanswer
 

bobuse a écrit :

Code :
  1. #!/bin/sh
  2. i=5
  3. i=$((i+5))
  4. echo $i

 
 
 

Citation :

test.sh: erreur de syntaxe ligne 5: `i=$' inattendue

 
de toutes facons, c'est bon, ca marche avec expr


 
restons souple...
 
 


[pts/4][15:43]manu@bassed6:~> i=0
[pts/4][15:43]manu@bassed6:~> ((i=i+1))
[pts/4][15:43]manu@bassed6:~> echo $i
1
[pts/4][15:43]manu@bassed6:~> ((i++))
[pts/4][15:44]manu@bassed6:~> echo $i
2
 
 



Message édité par minusplus le 14-03-2003 à 15:38:18
n°333733
Taz
bisounours-codeur
Posté le 14-03-2003 à 18:25:20  profilanswer
 

sinon regardez seq
 
for i in $(seq 10)


Message édité par Taz le 14-03-2003 à 18:25:27
n°337193
vimaster
i love vi editor it's the best
Posté le 19-03-2003 à 13:29:10  profilanswer
 

$((.....)) n'est pas compatible à tous les shells utiliser expr si  
.


---------------
I love vi editor. it's the best one.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Bash] arithmétique de base : incrementer un variable :-(

 

Sujets relatifs
[SQL] requête sql sur une base access...help me !!![VBA] Gérer les controles d'une Form avec une variable...
[MYSQL]Fonctionnnement du type DECIMAL dans une base MySQL[HELP] Sauvegarde d'une base de données mysql
metre variable jvs dans un script phpLimite de tables dans une base MySQL ?
Problème de variable en JSProbleme de passage de variable en parametre (type=file)
[PHP] Variable dans variableTransfert de base 10 en base 16 en C ??
Plus de sujets relatifs à : [Bash] arithmétique de base : incrementer un variable :-(


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR