Nested While loop doesn't end


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Nested While loop doesn't end
# 1  
Old 07-05-2011
Nested While loop doesn't end

Hi,

Below is my script in which i am using nested while loop to read two files and move the files to a remote server.

My issue is that the 2nd while loop doesn't stop executing and it keeps on executing.

Can someone please let me know where i have gone wrong.
Code:
myFile=$ESER_TEST_FILES

date=`date +"%Y%m%d%H%M%S"`

while read line
do
    dir=`dirname "$line"`
    I_CLI_CODE="`print $line | cut -f4 -d'/'`"
    base=`basename "$line"`
    echo $base
    $JAVA_COMMAND -classpath ${PROCESSES_HOME_DIR}:/nfs/automationworks/lib/ojdbc14.jar:. ${PATH_PACKAGE}.TestFileHandle $I_CLI_CODE
    cli_code=$I_CLI_CODE

    myFile=$GETCLIENT_NAME_STATUS
    while read line
    echo $line
    do 

        cli_name="`print $line | cut -f2 -d'/'`"
        cli_status="`print $line | cut -f3 -d'/'`"

        if [ -d $SCPED_TEST_FILES"$cli_name"_$cli_code ]
        then
            echo "$DIR directory  exists!"
        else
            mkdir $SCPED_TEST_FILES"$cli_name"_$cli_code
        fi

        
            filename=$base-$date
            echo $filename
            #Appending the filename with date and time

            mv "$ETEST_FILE_LOC$cli_code/$base" $SCPED_TEST_FILES"$cli_name"_$cli_code/$filename

            echo $cli_name

            sudo -u vty scp -r $SCPED_TEST_FILES"$cli_name"_$cli_code vty@fs1.local:'/cygdrive/d/TEST\ files/$cli_name$cli_code'

            print "$ETEST_FILE_LOC$cli_code/$filename $SCPED_TEST_FILES"$cli_name"$cli_code"                                    >> $TEST_FILE_LIST
            echo false;;
        esac

    done < $GETCLIENT_NAME_STATUS

done < $ESER_TEST_FILES

Thanks
# 2  
Old 07-05-2011
Code:
  while read line
    echo $line
    do

should be

Code:
 while read line2
    do 
      echo $line2

also make sure that the variables storing the filenames that you loop through are set.
That is, those GETCLIENT_NAME_STATUS a ESER_TEST_FILES.

But your biggest issue is that you use the same variables in both loops: line.
You should use something else, like "line2" in the second, nested loop.
This User Gave Thanks to mirni For This Post:
# 3  
Old 07-05-2011
thanks a lot... got it working...
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Programming

MPI C++ in a nested loop

I have a MPI program like this: void slave1(int j){ MPI_Status status; MPI_Recv(&j,1,MPI_INT,0,0,MPI_COMM_WORLD,&status);} void slave2(int j){ MPI_Status status; MPI_Recv(&j,1,MPI_INT,0,1,MPI_COMM_WORLD,&status);} int main(int argc, char *argv){ int numprocs, rank; ... (0 Replies)
Discussion started by: wanliushao
0 Replies

2. Shell Programming and Scripting

Nested for loop not ending

Hi All, Need help on below script for g in `cat /home/sid.txt` do for h in `cat /home/dev.txt` do symmaskdb -sid $g -dev $h list assign |grep FA |head -1|awk '{print $2}' > tt1.txt done done cat /home/sid.txt ************** 123 235 456 (5 Replies)
Discussion started by: ranjancom2000
5 Replies

3. Shell Programming and Scripting

Nested if loop

Hi Team, I just want to check whether my nested if loop used is correct or not. if ] if ] export1 else export2 fi else if ] export3 else export4 fi fi Thanks Shiva (5 Replies)
Discussion started by: shivashankar_S
5 Replies

4. UNIX for Dummies Questions & Answers

Nested loop code

Greetings, Would anyone be able to tell me why this nested loop doesn't seem to work in any variation? for i in {1..8} do echo "i is "$i for j in {1..i} do echo "j is "$j done doneoutput is always along the lines of i is 1... (7 Replies)
Discussion started by: barnhillec
7 Replies

5. Shell Programming and Scripting

Why doesn't this loop end?

Simple script, takes an cmd line argument and counts down to 1. NUMBER=$1 # One argument must be provided, otherwise don't execute if then echo "Error. Enter one argument " exit 0 elif then echo " " fi # Integer value must be greater than zero while do echo... (6 Replies)
Discussion started by: Breakology
6 Replies

6. Shell Programming and Scripting

nested loop problem

Please see the following script. basic="a b c" advance="d e f" A="basic advance" for g in $A do echo $g done The result would be obviously basic advance I want to ask how can i get the following result using $A in for loop a b c (5 Replies)
Discussion started by: mmunir
5 Replies

7. Shell Programming and Scripting

while read loop w/ a nested if statement - doesn't treat each entry individually

Hi - Trying to take a list of ldap suffixes in a file, run an ldapsearch command on them, then run a grep command to see if it's a match, if not, then flag that and send an email alert. The list file (ldaplist) would look like - *********** o=company a o=company b *********** **... (7 Replies)
Discussion started by: littlefrog
7 Replies

8. Shell Programming and Scripting

Variable in While Loop Nested If

Hi all, I'm having problems with the setting a variable in a nested if statement. It doesn't seem to change even if it mets the 'if' condition. My script essentially looks for a user name from the output from a kerberos command. When I find the user name, I tried to change a variable and exit... (6 Replies)
Discussion started by: geass
6 Replies

9. Shell Programming and Scripting

nested loop

I have two do loops. When I break of the inner loop it doesn't go back to the outer loop but exit the program. (5 Replies)
Discussion started by: chinog
5 Replies
Login or Register to Ask a Question