Sponsored Content
Top Forums Shell Programming and Scripting Passing dynamic variable within another variable. Post 302881580 by Cyril Jos on Monday 30th of December 2013 10:45:34 AM
Old 12-30-2013
Passing dynamic variable within another variable.

I have a small program which needs to pass variable dynamically to form the name of a second variable whose value wil be passed on to a third variable.

***************** Program Start ******************

Code:
LOC1=/loc1
PAT1IN=/loc2
PAT2IN=/loc3
if [ -f $LOC1/* ]; then
for fpattern in `cat $script/filepattern.txt`
do 
for ffilename in `find $LOC1/ -type f`
do
filename=`echo $ffilename | cut -d "/" -f 3`
file=`echo $filename | cut -d "_" -f 1`
case "$file" in
$fpattern)
INLOC=${${file}IN}
echo $INLOC
echo $filename
;;
esac
done
done 
else
echo "Exiting Job as no files present."
exit
fi

***************** Program End ******************

List of files present in the /loc1 are as below
Code:
/loc1/PAT1_test.txt
/loc1/PAT2_test1.txt

content of filepattern.txt are as below

Code:
PAT1
PAT2

when i execute the program, i keep getting this error

Code:
INLOC=${${file}IN}: bad substitution

Please let me know if i am doing something wrong. or is there an alternate way to achieve this without having to use to much variables.

expected output is:
Code:
/loc2
PAT1_test.txt
/loc3
PAT2_test1.txt


Last edited by bartus11; 12-30-2013 at 11:50 AM.. Reason: Please use code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Dynamic Variable Declatation

Evening all, Have been trying to create the following environment variable: ${MD_SYSTEM}_ZZ_EMAIL_SUPPORT="myname@domain.com" However when the script that contains the above is executed it returns: ksh: MDQA_ZZ_EMAIL_SUPPORT=myname@domain.com: not found Is what I'm trying to do... (2 Replies)
Discussion started by: Cameron
2 Replies

2. UNIX for Dummies Questions & Answers

passing a variable inside a variable to a function

I would like to know how to pass a variable inside a variable to a function. sample code below -------------- for x in 1 9 do check_null $C$x ##call function to check if the value is null if then echo "line number:$var_cnt,... (2 Replies)
Discussion started by: KingVikram
2 Replies

3. Shell Programming and Scripting

passing a variable inside another variable.

Any help would be great. I know this is a dumb way of doing this, but I would like to know if there is a solution doing it this way. I'm very new at this and I'd like to learn more. Thanks! :D:D count=0 while ; do echo "enter your name" read name_$count let count=count+1 done ... (2 Replies)
Discussion started by: reconflux
2 Replies

4. Shell Programming and Scripting

dynamic variable name

I found one post in another site with a solution for my problem the below solution should explain what I want. #!/bin/sh first="one" second="two" third="three" myvar="first" echo ${!myvar} But this gives error 'bad substitution' System info SunOS sundev2 5.9... (3 Replies)
Discussion started by: johnbach
3 Replies

5. Shell Programming and Scripting

Dynamic variable assignment

Hi all, I’m very new to UNIX programming. I have a question on dynamic variable 1. I’m having delimited file (only one row). First of all, I want to count number of columns based on delimiter. Then I want to create number of variables equal to number of fields. Say number of... (5 Replies)
Discussion started by: mkarthykeyan
5 Replies

6. Shell Programming and Scripting

Help with Dynamic variable

I need some variable help TEMP1=Jane TEMP2=Sue X=1 eval USER=TEMP${X} echo $USER This gives output USER1 I would like to get Jane I have tried eval USER='TEMP${X}' eval USER="TEMP${X}" eval USER=`TEMP${X}` (3 Replies)
Discussion started by: Jotne
3 Replies

7. Shell Programming and Scripting

Dynamic file name in variable

Hi guys. i have a requirment as below. I have a scripts which perform for loop for i in /backup/logs -- it will give all the logs file SC_RIO_RWVM_20120413064217303.LOG SC_RIO_RWXM_20120413064225493.LOG SC_RIO_RXXM_20120413064233273.LOG ... do open script.sh ---- in this file... (3 Replies)
Discussion started by: guddu_12
3 Replies

8. UNIX for Dummies Questions & Answers

Dynamic Variable creation

I am trying to create some variables based on the input by the user, say if user entered 3 then 3 variables and if 5 then 5 variables. I am using a for loop for (( i=1; i <= $num; i++ )) do x="num" x+=$i done When i am using echo $x it will show num1 but now how to create variables... (3 Replies)
Discussion started by: Raj999
3 Replies

9. UNIX for Advanced & Expert Users

Passing variable as input & storing output in other variable

I have a below syntax its working fine... var12=$(ps -ef | grep apache | awk '{print $2,$4}') Im getting expected output as below: printf "%b\n" "${VAR12}" dell 123 dell 456 dell 457 Now I wrote a while loop.. the output of VAR12 should be passed as input parameters to while loop and results... (5 Replies)
Discussion started by: sam@sam
5 Replies

10. Shell Programming and Scripting

Dynamic variable name in bash

Hello, I'm trying to build a small script to store a command into a dynamic variable, and I have trouble assigning the variable. #!/bin/bash declare -a var1array=("value1" "value2" "value3") var1arraylength=${#var1array} for (( i=1; i<${var1arraylength}+1; i++ )); do mkdir... (7 Replies)
Discussion started by: alex2005
7 Replies
incr(3tcl)						       Tcl Built-In Commands							incr(3tcl)

__________________________________________________________________________________________________________________________________________________

NAME
incr - Increment the value of a variable SYNOPSIS
incr varName ?increment? _________________________________________________________________ DESCRIPTION
Increments the value stored in the variable whose name is varName. The value of the variable must be an integer. If increment is supplied then its value (which must be an integer) is added to the value of variable varName; otherwise 1 is added to varName. The new value is stored as a decimal string in variable varName and also returned as result. Starting with the Tcl 8.5 release, the variable varName passed to incr may be unset, and in that case, it will be set to the value incre- | ment or to the default increment value of 1. EXAMPLES
Add one to the contents of the variable x: incr x Add 42 to the contents of the variable x: incr x 42 Add the contents of the variable y to the contents of the variable x: incr x $y Add nothing at all to the variable x (often useful for checking whether an argument to a procedure is actually integral and generating an error if it is not): incr x 0 SEE ALSO
expr(3tcl) KEYWORDS
add, increment, variable, value Tcl incr(3tcl)
All times are GMT -4. The time now is 07:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy