user4993731
user4993731

Reputation:

For loop in shell script

I'm trying to print some record but I'm not able to aimed output

#!/bin/bash

a='xyx_n'
b='xzx_n'
c='xkx_n'

val=(1,2,4,5)
#a=($val)
for (( i=0;i<=3;i++ ))
do
         echo "$a|$b|$c|${val[$i]}" >> "/tmp/test1"
done

Output

xyx_n|xzx_n|xkx_n|1,2,4,5
xyx_n|xzx_n|xkx_n|
xyx_n|xzx_n|xkx_n|
xyx_n|xzx_n|xkx_n|

The output should be like below

xyx_n|xzx_n|xkx_n|1
xyx_n|xzx_n|xkx_n|2
xyx_n|xzx_n|xkx_n|4
xyx_n|xzx_n|xkx_n|5

Upvotes: 1

Views: 47

Answers (1)

raj454raj
raj454raj

Reputation: 298

Problem with your array initialization -

#!/bin/bash

a='xyx_n'
b='xzx_n'
c='xkx_n'

val=(1 2 4 5)
#a=($val)
for (( i=0;i<=3;i++ ))
do
         echo "$a|$b|$c|${val[$i]}" >> "/tmp/test1"
done

Output

xyx_n|xzx_n|xkx_n|1
xyx_n|xzx_n|xkx_n|2
xyx_n|xzx_n|xkx_n|4
xyx_n|xzx_n|xkx_n|5

Upvotes: 2

Related Questions