Increment a variable in unix bash


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Increment a variable in unix bash
# 1  
Old 04-24-2012
Increment a variable in unix bash

Hello There,

I have been trying to increment the value of variable to 1, 2, 3 etc. but, it displays
1
1+1
1+1+1
.....
Smilie
Could anyone help out with this?
Code:
for i in *.*
do
s=`expr $s+1`
echo $s
j=$i$j
mv $i $j  
done

Any help is appreciated?

-A
# 2  
Old 04-24-2012
If you're really in BASH:

Code:
((S++))

will suffice.

If you want to use expr, remember that each thing you feed expr must be a separate argument. That means putting in spaces.

Code:
S=`expr $S + 1`

# 3  
Old 04-24-2012
If you're running and old bash version, you'll need a bit different syntax:

Code:
$ bash -c 'echo $BASH_VERSION; (( c++ ))'
2.03.0(1)-release
bash: ((: c++ : syntax error: operand expected (error token is " ")
$ bash -c 'echo $BASH_VERSION; (( c += 1 )); echo $c'
2.03.0(1)-release
1

This User Gave Thanks to radoulov For This Post:
# 4  
Old 04-24-2012
Hello there,

Thanks both for the quick reply. I tried using (( C +=1 )) and it kept throwing a syntax error at me. I was just not sure why.

I am curious though. Functions like
Code:
$(( ls - l ))

as well doesnt work for me. It keep throwing the syntax error saying `(' unexpected whenever i use something like that.

Help is appreciated.

Thanks.
-A
# 5  
Old 04-24-2012
Are you sure you're using bash?
What's the output of:

Code:
ps -p$$

and:

Code:
echo $BASH_VERSION

$(( ... )) has a different meaning.
# 6  
Old 04-24-2012
Radulov,

Here is the output to your commands:
Code:
ps -p$$

PID TTY TIME CMD
1198 pts/4 0:01 bash

Code:
echo $BASH_VERSION


3.2.51(1)-release


It is bash shell for sure!!SmilieSmilie
# 7  
Old 04-24-2012
If it's bash, it shouldn't throw an error with this code Smilie

Code:
$ bash -c 'echo $BASH_VERSION; (( c += 3 )); echo $c'
3.2.25(1)-release
3

Notice that the standard/POSIX syntax is different:

Code:
c=$(( c + 1 ))

But bash has various extensions.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Increment date variable

hey guys, I need to incerement the date variable for instance echo `date '+%F %H:%M:00'` this produces 2014-08-02 20:05:00 -I will grant this to : $Datehour and need to assign 1 hr from now to $Datelasthour -the script time will be used to talk to DB system information. however... (4 Replies)
Discussion started by: mo_VERTICASQL
4 Replies

2. Shell Programming and Scripting

Bash counter increment not working

Hi all, I'm using Bash 4.3.8 on an Ubuntu system, and no matter what I try, incrementing a counter won't work. The simplest example would be something like this: #!/bin/bash myVar=0 myVar=$((myVar++)) echo myVar The variable should be 1, but it's always 0. I've tried every increment... (6 Replies)
Discussion started by: Zel2008
6 Replies

3. Shell Programming and Scripting

[Solved] How to increment and add variable length numbers to a variable in a loop?

Hi All, I have a file which has hundred of records with fixed number of fields. In each record there is set of 8 characters which represent the duration of that activity. I want to sum up the duration present in all the records for a report. The problem is the duration changes per record so I... (5 Replies)
Discussion started by: danish0909
5 Replies

4. Shell Programming and Scripting

How to increment a string variable?

Hi All, I am new to this forum and a novice at shell script. I am trying to write a script to determine each of the NIC configured on a linux system and its speed and Duplex. I came up with the following piece of code: echo `ifconfig -a | grep eth > /home/a/nic.txt` i=`awk -F, '{print... (4 Replies)
Discussion started by: pravin883
4 Replies

5. Shell Programming and Scripting

Bash 4.0 increment variable

Hi there everyone! This is my first post so be gentle. I have a small bash script that is extracting 3 line every 3 lines. I got the AWK part but i cant do the loop part. #!/bin/bash export line=`awk 'END { print NR }' btnew` echo $line for i in {1..$line..3} #increment do echo... (2 Replies)
Discussion started by: theodorosGreece
2 Replies

6. Shell Programming and Scripting

Variable increment (of some sort)

i have a variable that has more than one value. i am declaring another variable, which will have the old variable data one by one. i want to use the second variable to hold the track of all the variable it has parsed from the first one. can somebody help me how do i declare and use the second... (7 Replies)
Discussion started by: gopajitmalakar
7 Replies

7. UNIX for Dummies Questions & Answers

bash script to increment a digit in filename

Hi guys, Can someone help me out with this: I have a directory with files like the following, GHost++ 2010-03-14 04-01 DotaCash RD us_ca LC #7 (44m19s).w3g GHost++ 2010-03-14 04-06 DotaCash AP us_ca LC #8 (42m24s).w3g GHost++ 2010-03-14 04-07 DotaCash AR us_ca LC #10 (08m23s).w3g ... (4 Replies)
Discussion started by: hbjlee17
4 Replies

8. Shell Programming and Scripting

Increment of a variable

Hi All, I have a variable n that stores a number. Eg. echo $n comes out to be 120. I need to print 121 using echo command on n. Please advice. Thanks in advance !! (4 Replies)
Discussion started by: learning_skills
4 Replies

9. Shell Programming and Scripting

increment a Variable

hi, i want to increment a Variable but it doesnt work. here my codé COUNT=1 COUNT= 'expr $COUNT + 1' i've tried it in the prompt but it print me: expr: syntaxerror What does I make wrong? (4 Replies)
Discussion started by: cengiz
4 Replies
Login or Register to Ask a Question