Setting variables in shell script by running commands

Posted by rajya vardhan on Stack Overflow See other posts from Stack Overflow or by rajya vardhan
Published on 2012-09-16T15:26:49Z Indexed on 2012/09/16 15:37 UTC
Read the original article Hit count: 301

Filed under:
|
>cat /tmp/list1
john
jack

>cat /tmp/list2
smith
taylor

It is guaranteed that list1 and list2 will have equal number of lines.

    f(){
        i=1
        while read line
          do
        var1 = `sed -n '$ip' /tmp/list1`
        var2 = `sed -n '$ip' /tmp/list2`
        echo $i,$var1,$var2
        i=`expr $i+1`
            echo $i,$var1,$var2
          done < $INFILE
    }

So output of f() should be:

1,john,smith
2,jack,taylor

But getting

1,p,p
1+1,p,p

If i replace following:

var1 = `sed -n '$ip' /tmp/list1`
var2 = `sed -n '$ip' /tmp/list2` 

with this:

var1=`head -$i /tmp/vip_list|tail -1`
var2=`head -$i /tmp/lb_list|tail -1`

Then output:

1,john,smith
1,john,smith

Not an expert of shell, so please excuse if sounds childish :)

© Stack Overflow or respective owner

Related posts about shell

Related posts about unix