# Incrementing variable in for

**URL:** <https://community.unix.com/t/incrementing-variable-in-for/281514>\
**Category:** UNIX for Dummies Questions & Answers\
**Created:** [January 27, 2011, 6:30am UTC](https://community.unix.com/t/incrementing-variable-in-for/281514 "2011-01-27T06:30:44Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![limadario](https://community.unix.com/letter_avatar/limadario/32/5_5575768a8748004e209b776fc1b2916d.png) [@limadario](https://community.unix.com/u/limadario)\
**Post date:** [January 27, 2011, 6:30am UTC](https://community.unix.com/t/incrementing-variable-in-for/281514/1 "2011-01-27T06:30:44Z")

</div>

Hi,  
want to increment a variable in a for loop like this:

```nohighlight
for (( c=$total-1; c>=0; c-- ))
do
if [$maximo <= $res$c];            
then
maximo=$valores
fi
done

```

But it gives the error:  
No such file or directory

How can i do this only incrementing the c variable?

Thanks

---

<div class="post-metadata">

**Author:** ![robfwauk](https://community.unix.com/letter_avatar/robfwauk/32/5_5575768a8748004e209b776fc1b2916d.png) [@robfwauk](https://community.unix.com/u/robfwauk)\
**Post date:** [January 27, 2011, 6:39am UTC](https://community.unix.com/t/incrementing-variable-in-for/281514/2 "2011-01-27T06:39:59Z")

</div>

I think `c=$total-1` maybe the problem.

try:-

```nohighlight
x=`expr ${total} - 1`
for (( c=$total; c>=0; c-- ))

```

---

<div class="post-metadata">

**Author:** ![dsw](https://community.unix.com/user_avatar/community.unix.com/dsw/32/2044_2.png) [@dsw](https://community.unix.com/u/dsw)\
**Post date:** [January 27, 2011, 6:40am UTC](https://community.unix.com/t/incrementing-variable-in-for/281514/3 "2011-01-27T06:40:31Z")

</div>

Not sure what you mean - certainly looks like you're decrementing 'c'.

---

<div class="post-metadata">

**Author:** ![citaylor](https://community.unix.com/user_avatar/community.unix.com/citaylor/32/1988_2.png) [@citaylor](https://community.unix.com/u/citaylor)\
**Post date:** [January 27, 2011, 6:45am UTC](https://community.unix.com/t/incrementing-variable-in-for/281514/4 "2011-01-27T06:45:07Z")

</div>

```nohighlight
if [$maximo <= $res$c];

```

is a mixture of "bash" and sh/ksh...so either:

```nohighlight
if [$maximo -le $res$c];

```

or

```nohighlight
if(( $maximo <= $res$c ));

```

---

<div class="post-metadata">

**Author:** ![limadario](https://community.unix.com/letter_avatar/limadario/32/5_5575768a8748004e209b776fc1b2916d.png) [@limadario](https://community.unix.com/u/limadario)\
**Post date:** [January 27, 2011, 6:52am UTC](https://community.unix.com/t/incrementing-variable-in-for/281514/5 "2011-01-27T06:52:31Z")

</div>

I want to increment the res$c so i can get a variable like:  
$res1  
$res2  
$res3  
$res4

---

<div class="post-metadata">

**Author:** ![dsw](https://community.unix.com/user_avatar/community.unix.com/dsw/32/2044_2.png) [@dsw](https://community.unix.com/u/dsw)\
**Post date:** [January 27, 2011, 7:11am UTC](https://community.unix.com/t/incrementing-variable-in-for/281514/6 "2011-01-27T07:11:06Z")

</div>

Sounds like you should use an array.

---

<div class="post-metadata">

**Author:** ![Franklin52](https://community.unix.com/user_avatar/community.unix.com/franklin52/32/500_2.png) [@Franklin52](https://community.unix.com/u/Franklin52)\
**Post date:** [January 27, 2011, 7:11am UTC](https://community.unix.com/t/incrementing-variable-in-for/281514/7 "2011-01-27T07:11:09Z")

</div>

> [@limadario](#):
>
> I want to increment the res$c so i can get a variable like:  
> $res1  
> $res2  
> $res3  
> $res4

Use eval, an example:

```plaintext
i=5

eval res$i="ABC"
echo $res5

```

---

<div class="post-metadata">

**Author:** ![limadario](https://community.unix.com/letter_avatar/limadario/32/5_5575768a8748004e209b776fc1b2916d.png) [@limadario](https://community.unix.com/u/limadario)\
**Post date:** [January 27, 2011, 8:08am UTC](https://community.unix.com/t/incrementing-variable-in-for/281514/8 "2011-01-27T08:08:08Z")

</div>

Let me explain better. I have this values:

```nohighlight
res=0.0032
res1=0.41234
res2=0.42342
res3=0.4523
res4=0.23123
res5=0.12311

```

and i want to do a for so that i can get the values inside this variables:

```nohighlight
c=6
maximo=$res
for (( c=$total-1; c>=0; c-- ))
do
if [$maximo <= $res$c];            
then
maximo=$valores
fi
done

```

But what when i do that it put the value of res just shows the value of the value res with the value of c in the front

---------- Post updated at 08:08 AM ---------- Previous update was at 07:25 AM ----------

I solved it. I done something like this:

```nohighlight
maximo=$res
########################################
for (( c=5; c>=0; c-- ))
do
variavel=res$c 
varx=${!variavel}
echo $varx
if(( $maximo <= $varx ));            
then
maximo=$valores
fi
done

```

---

<div class="post-metadata">

**Author:** ![Franklin52](https://community.unix.com/user_avatar/community.unix.com/franklin52/32/500_2.png) [@Franklin52](https://community.unix.com/u/Franklin52)\
**Post date:** [January 27, 2011, 8:42am UTC](https://community.unix.com/t/incrementing-variable-in-for/281514/9 "2011-01-27T08:42:25Z")

</div>

```nohighlight
res=0.0032
res1=0.41234
res2=0.42342
res3=0.4523
res4=0.23123
res5=0.12311

c=5
maximo=$res
while [c -gt 0]
do
  eval "var=\$res$c"
  maximo=$(echo $var $maximo | awk '{print ($1>$2?$1:$2)}')
  c=$(( $c - 1))
done

echo $maximo

```
