How to increment a string variable?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to increment a string variable?
# 1  
Old 01-17-2013
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:
Code:
echo `ifconfig -a | grep eth > /home/a/nic.txt`

i=`awk -F, '{print NR}' /home/a/nic.txt`

for j in $i

do

  nic"${j}"=`awk '{NR=$j} {print $1}' /home/a/nic.txt`

  echo $nic"${j}"

  if [ "$nic" == "" ];

  then

  exit 1

  else

   echo "SPEED & DUPLEX OF $nic$j:`ethtool $nic$j | grep -i duplex; ethtool $nic$j | grep -i speed`"


  fi

done

But I am coming up with command not found for line in red. Why can't I declare a variable and increment just its count?

Last edited by pravin883; 01-17-2013 at 08:19 PM..
# 2  
Old 01-17-2013
Use eval built-in

Here is an example:
Code:
#!/bin/bash

for i in {1..5}
do
        eval "nic$i"=$i
        echo "nic$i=`eval echo $nic$i`"
done

But this is a bad programming practice. I recommend using arrays instead.
# 3  
Old 01-17-2013
Simple array example:
Code:
#!/bin/bash
for j in 1 2 3; do
  nic[j]=a$j
done

Code:
$ echo "${nic[@]}"
a1 a2 a3
$ echo "${nic[2]}"
a2

# 4  
Old 01-17-2013
How about:

Code:
for nic in $(ifconfig -s | awk 'NR>1&&$1!="lo"{print $1}')
do
    echo "SPEED & DUPLEX OF $nic: " $(ethtool $nic | grep -iE "duplex|speed")
done

Code:
SPEED & DUPLEX OF p2p1:  Speed: 100Mb/s Duplex: Full
SPEED & DUPLEX OF p2p2:  Speed: 1000Mb/s Duplex: Full

# 5  
Old 01-18-2013
Thank you people....yes using arrays will be the best way of programming. But as I needed to get the system info, I ended up doing what Chubler_XL suggested and it works like a charm. Thank you Chubler_XL
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

String increment in UNIX

Hi, I am able to increment numbers but unable to increment the charters in unix -AIX. Source : AAA BB CCC Increment Number : 5 OUTPUT: AAA BB CCC AAA BB CCD AAA BB CCE AAA BB CCF AAA BB CCG Thanks onesuri Please use CODE tags as required by the forum rules. I have made a wild... (5 Replies)
Discussion started by: onesuri
5 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

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

5. 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

6. Shell Programming and Scripting

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 ..... :wall: Could anyone help out with this? for i in *.* do s=`expr $s+1` echo $s j=$i$j mv $i $j done Any help is appreciated? (24 Replies)
Discussion started by: amrutha0303
24 Replies

7. 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

8. Shell Programming and Scripting

Increment variable stored in a file

Hi, I want to write a perl script, which will increment number stored in file. I want to do this without any file handles. I think we have to use some UNIX commands. I am not sure how to do this with file handles. Thanks, (1 Reply)
Discussion started by: solitare123
1 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