Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Variable inside while loop got reset Post 303007496 by gowthamsoft on Friday 17th of November 2017 06:53:33 AM
Old 11-17-2017
Variable inside while loop got reset

hi,

I am using hp unix server and not getting variable output present inside the while loop. I have tried changing the code and need to verify whether it is proper practice of code. I am expecting the output of varible RUN_FILE 3 to TRUE which i get inside the while loop.

Code:
RUN_FILE 1=TRUE
echo $RUN_FILE 1=$RUN_FILE"
for RECS_REC in ${RECS_TBL[@]}; do
find ${RILD_MARK_DIR}/*Rele**.${DATA_FILE_CUSTOMER}.**.${DATA_FILE_PALLET}.* -not -name '*.'"$RECS_REC" | while read rname; do
echo "$rname"
BCODE='SETUP FAILED'
echo "****************************************************************************"
echo "mv "$rname" ${RILD_PETA_DIR}/file_error"
mv "$rname" ${RILD_PETA_DIR}/file_error
RUN_FILE="TRUE"
echo "RUN_FILE 2=$RUN_FILE"
done
done
echo $RUN_FILE 3=$RUN_FILE"

Current Output

Code:
Output :
RUN_FILE 1= TRUE
RUN_FILE 2=TRUE
RUN_FILE 3=FALSE

Expected Output
Code:
Output :
RUN_FILE 1= TRUE
RUN_FILE 2=TRUE
RUN_FILE 3=TRUE

MY MODIFIED CODE

Code:
RUN_FILE 1=TRUE
echo $RUN_FILE 1=$RUN_FILE"
for RECS_REC in ${RECS_TBL[@]}; do
VAR1=/home/skk/test.txt
find ${RILD_MARK_DIR}/*Rele**.${DATA_FILE_CUSTOMER}.**.${DATA_FILE_PALLET}.* -not -name '*.'"$RECS_REC" >>/home/skk/test.txt
while read rname; do
echo "$rname"
BCODE='SETUP FAILED'
echo "****************************************************************************"
echo "mv "$rname" ${RILD_PETA_DIR}/file_error"
mv "$rname" ${RILD_PETA_DIR}/file_error
RUN_FILE="TRUE"
echo "RUN_FILE 5=$RUN_FILE"
done > $VAR1
rm -rf $VAR1
done
echo $RUN_FILE 3=$RUN_FILE"

I have modified the above code to reflect the variable present inside the while loop.
Not sure whether it is best code practices

Last edited by gowthamsoft; 11-17-2017 at 08:29 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

variable inside variable inside loop headache

Hi Gurus I have a file called /tmp/CMDB which looks like this serial: 0623AN1208 hostname: server1 model: x4100 assetID: 1234 I am writing a for loop that will go through this file line by line creating a variable of itself. Using the first iteration of the loop (i.e. the first line) as... (6 Replies)
Discussion started by: hcclnoodles
6 Replies

2. Shell Programming and Scripting

Using variables created sequentially in a loop while still inside of the loop [bash]

I'm trying to understand if it's possible to create a set of variables that are numbered based on another variable (using eval) in a loop, and then call on it before the loop ends. As an example I've written a script called question (The fist command is to show what is the contents of the... (2 Replies)
Discussion started by: DeCoTwc
2 Replies

3. Shell Programming and Scripting

how to pass a variable to an update sql statement inside a loop

hi all, i am experiencing an error which i think an incorrect syntax for the where clause passing a variable was given. under is my code. sqlplus -s ${USERNAME}/${PASSWORD}@${SID} << END1 >> $LOGFILE whenever sqlerror exit set serveroutput on size 1000000 declare l_rc ... (0 Replies)
Discussion started by: ryukishin_17
0 Replies

4. Shell Programming and Scripting

BASH loop inside a loop question

Hi all Sorry for the basic question, but i am writing a shell script to get around a slightly flaky binary that ships with one of our servers. This particular utility randomly generates the correct information and could work first time or may work on the 12th or 100th attempt etc !.... (4 Replies)
Discussion started by: rethink
4 Replies

5. Shell Programming and Scripting

How to give a variable output name in a shell script inside a for loop

Hi all I run my program prog.c in the following way : $ ./prog 1 > output.txt where 1 is a user defined initial value used by the program. But now I want to run it for many a thousand initial values, 1-1000, and store all the outputs in different files. Like $ ./prog 1... (1 Reply)
Discussion started by: alice06
1 Replies

6. Shell Programming and Scripting

Automatic variable assignment inside a for loop

cs1=`echo "scale=8;($css1/$css0)*100"|bc` cs2=`echo "scale=8;($css2/$css0)*100"|bc` cs3=`echo "scale=8;($css3/$css0)*100"|bc` cs4=`echo "scale=8;($css4/$css0)*100"|bc` cs5=`echo "scale=8;($css5/$css0)*100"|bc` cs6=`echo "scale=8;($css6/$css0)*100"|bc` cs7=`echo "scale=8;($css7/$css0)*100"|bc`... (3 Replies)
Discussion started by: thulasidharan2k
3 Replies

7. Shell Programming and Scripting

Reset while loop to loop same file multiple times

Hi, I want to read file multiple times. Right now i am using while loop but that is not working. ex. While read line do while read line2 do echo stmt1 #processing some data based on data., done < file2.txt done < file1.txt # This will have 10... (4 Replies)
Discussion started by: tmalik79
4 Replies

8. Shell Programming and Scripting

Reset $1 variable

Hi all, I'm using a scipt with one input and one output. I'm referring to the input by $1 after executing a command line, I'm getting the output via $1. Normally, the $1 shouldn't get the same values between the first call and the second. Is there a solution to force my second call for $1 to... (4 Replies)
Discussion started by: Elmassimo
4 Replies

9. UNIX for Beginners Questions & Answers

Variable and awk inside for loop

Thanks all for taking time out and reading this thread and big Thanks to all who have come forward for rescue. Background: I have a variable "nbrofcols" that has number of columns from a data file. Now, using this count in for loop, I am trying to get the maximum length of each column present... (7 Replies)
Discussion started by: svks1985
7 Replies

10. UNIX for Beginners Questions & Answers

How to write a Boolean variable which succeed and failed inside the if loop in shell script ?

I have if loop with multiple variable value check in if loop. How can i print only if loop satisfied variable and its value in shell script ? I dont want to check each variable in if loop. That makes my script larger. if ] then echo "Only satisfied variable with value" ... (3 Replies)
Discussion started by: prince1987
3 Replies
while(n)						       Tcl Built-In Commands							  while(n)

__________________________________________________________________________________________________________________________________________________

NAME
while - Execute script repeatedly as long as a condition is met SYNOPSIS
while test body _________________________________________________________________ DESCRIPTION
The while command evaluates test as an expression (in the same way that expr evaluates its argument). The value of the expression must a proper boolean value; if it is a true value then body is executed by passing it to the Tcl interpreter. Once body has been executed then test is evaluated again, and the process repeats until eventually test evaluates to a false boolean value. Continue commands may be exe- cuted inside body to terminate the current iteration of the loop, and break commands may be executed inside body to cause immediate termi- nation of the while command. The while command always returns an empty string. Note: test should almost always be enclosed in braces. If not, variable substitutions will be made before the while command starts execut- ing, which means that variable changes made by the loop body will not be considered in the expression. This is likely to result in an infinite loop. If test is enclosed in braces, variable substitutions are delayed until the expression is evaluated (before each loop iter- ation), so changes in the variables will be visible. For an example, try the following script with and without the braces around $x<10: set x 0 while {$x<10} { puts "x is $x" incr x } SEE ALSO
break(n), continue(n), for(n), foreach(n) KEYWORDS
boolean value, loop, test, while Tcl while(n)
All times are GMT -4. The time now is 02:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy