substitute variable with in another variable

hi ,

please help me in this context

pkg1_name="/dir1/dir2/dir3/pkg1.txt"
pkg2_name="/dir1/dir2/dir4/pkg2.txt"
.
.
.

input to the script is pkg1 or pkg2 or ...

i have used pkg variable to save input i.e.
pkg=$1

now i need the following

result=`awk something ${pkg}_name ` for each file

but the output is showing error as

pkg1_name : no such file or directory

how can i get result=`awk something ${pkg}_name /dir1/dir2/dir3/pkg1.txt`

Try..

pkg1_name="/dir1/dir2/dir3/pkg1.txt"
pkg2_name="/dir1/dir2/dir4/pkg2.txt"

pkg=$1

eval echo \$${pkg}_name

In your command..

result=$(awk something $(eval echo \$${pkg}_name))
1 Like

thank you anchal. it's working.