Sponsored Content
Top Forums Shell Programming and Scripting Variable loses value outside loop Post 303004473 by mohtashims on Tuesday 3rd of October 2017 05:26:25 AM
Old 10-03-2017
Hammer & Screwdriver Variable loses value outside loop

Hi,

I am looking for a global variable found_flag to be set a value that can be accessed outside the loop anywhere in the bash shell script.

Code:
 more test.sh
 found_flag=0
 searchdir=/web/bea_apps/applications
  
 find . -type f \! -name tasty.tar | $AWK -F/ '{print $NF}' | while IFS= read -r entry; do
  
 found_flag=0
 find $searchdir -type f -name $entry | grep -v LOGS | while IFS= read -r second_entry; do
  
 mv $second_entry $second_entry.$NOW.bkp
 cp -R $entry `dirname $second_entry`/
 found_flag=1
 echo "Displaying the value of found_flag:$found_flag"
  
 done
  
 echo "Displaying the value of found_flag outside while loop:$found_flag"
  
 done

Output: bash -x test.sh
Code:
 
 + find . -type f '!' -name client.tar
 + /usr/xpg4/bin/awk -F/ '{print $NF}'
 + IFS=
 + read -r entry
 + found_flag=0
 + find /web/bea_apps/applications -type f -name sd.ear
 + grep -v CURRENT
 + IFS=
 + read -r second_entry
 + mv /web/bea_apps/applications/sd.ear /web/bea_apps/applications/sd.ear.10032017.bkp
 ++ dirname /web/bea_apps/applications/sd.ear
 + cp -R sd.ear /web/bea_apps/applications/
  
 + found_flag=1
 + echo 'Displaying the value of found_flag:1'
 Displaying the value of found_flag:1
 + IFS=
 + read -r second_entry
 + echo 'Displaying the value of found_flag outside while loop:0'
 Displaying the value of found_flag outside while loop:0

In the RED BOLD output above I am expecting the found_flag to have the value=1 instead of zero.

Can you please suggest a quick way how I can set the value globally so it reflects outside the loop as well ?

Using sub-shells would be my last priority.

Last edited by rbatte1; 10-03-2017 at 07:35 AM.. Reason: Converted QUOTE tags to CODE tags and removed unnecessary FONT formatting (probably pasted in)
 

10 More Discussions You Might Find Interesting

1. AIX

AIX System Loses communication

We run an RS/6000 SP Frame. One of the nodes running (AIX 5), in the frame, seems to run fine for a few weeks and then will no longer communicate with the outside world. I can not telnet to the server or ping the server. This is true for both the ethernet and serial connection. I believe what... (3 Replies)
Discussion started by: k11rh
3 Replies

2. UNIX for Dummies Questions & Answers

copy loses the text format

Hi I try to copy part of text from one file to another file. My problem is the text in the new file loses all the format. My code is: #!/bin/sh while red line do if then echo "$line" >> ./new_file else break fi done < "./old_file" Is there a way to modify... (3 Replies)
Discussion started by: tiger99
3 Replies

3. UNIX Desktop Questions & Answers

Grep result loses formatting

I am searching for a string in a file and then redirecting the contents in another file... however the formatting is not preserved.. Can you please help me on this ... (5 Replies)
Discussion started by: blackeyed
5 Replies

4. UNIX for Dummies Questions & Answers

FTP loses write permissions

Hi Guys, i have learned today that when you ftp a file with full write permissions (777) to another destination it loses the w options. so a file that was once -rwxrwxrwx(before FTP) is now -rw-r--r-- (after FTP). why does this happen? and is it configurable? Regards, (8 Replies)
Discussion started by: brian112
8 Replies

5. Shell Programming and Scripting

[SHELL: /bin/sh] For loop using variable variable names

Simple enough problem I think, I just can't seem to get it right. The below doesn't work as intended, it's just a function defined in a much larger script: CheckValues() { for field in \ Group_ID \ Group_Title \ Rule_ID \ Rule_Severity \ ... (2 Replies)
Discussion started by: Vryali
2 Replies

6. Shell Programming and Scripting

printing variable with variable suffix through loop

I have a group of variables myLINEcnt1 - myLINEcnt10. I'm trying to printout the values using a for loop. I am at the head banging stage since i'm sure it has to be a basic syntax issue that i can't figure out. For myIPgrp in 1 2 3 4 5 6 7 8 9 10; do here i want to output the value of... (4 Replies)
Discussion started by: oly_r
4 Replies

7. UNIX for Dummies Questions & Answers

Loop and variable not exactly variable: what's wrong

Hello guys, This truly is a newbie question. I'm trying to make a loop to execute simultaneous commands indefinitely while using variable. Here is how my mess looks like (this is just an example): #!/bin/bash IP=`shuf -n 1 IP.txt` # I figured this would be easier to select random lines... (4 Replies)
Discussion started by: bobylapointe
4 Replies

8. Shell Programming and Scripting

Array Variable being Assigned Values in Loop, But Gone when Loop Completes???

Hello All, Maybe I'm Missing something here but I have NOOO idea what the heck is going on with this....? I have a Variable that contains a PATTERN of what I'm considering "Illegal Characters". So what I'm doing is looping through a string containing some of these "Illegal Characters". Now... (5 Replies)
Discussion started by: mrm5102
5 Replies

9. Shell Programming and Scripting

[Solved] How to increment and add variable length numbers to a variable in a loop?

Hi All, I have a file which has hundred of records with fixed number of fields. In each record there is set of 8 characters which represent the duration of that activity. I want to sum up the duration present in all the records for a report. The problem is the duration changes per record so I... (5 Replies)
Discussion started by: danish0909
5 Replies

10. Shell Programming and Scripting

Infinite "while" loop subshell loses current date variable

I have a simple script to log network connectivity to a set of systems. However, as expected the date appended to the log never changes because the new variable is lost when the loop starts again. Can someone clue me in on how to get around this issue? #!/bin/bash LOG=/tmp/netlog... (3 Replies)
Discussion started by: woodson2
3 Replies
asant(1M)						    Application Server Utility							 asant(1M)

NAME
asant - launches the Jakarta Ant tool SYNOPSIS
asant target_list Use the asant command to automate repetitive development and deployment tasks. asant is a shell script that invokes the underlying Ant in- frastructure after initializing the environment to pickup the application server installed targets. To use Ant as part of the Sun ONE Application Server, verify that your PATH includes the provided asant (Solaris) ant.bat(Windows) script. The bundled sample applications use asant extensively; however, asant can be used in any development or operational environments. The build targets are represented in the build.xml files that accompany the sample applications. To use the Ant tool to compile and reassemble the sample applications, verify that the $AS_INSTALL/bin directory is on your environment's path. On UNIX, add the $AS_INSTALL/bin directory to your PATH environment variable. On Windows, after installing the Sun ONE Application Server, set the system path by adding $AS_INSTALLin to the user PATH. You can access the PATH system variable from: Start menu, Settings, Control Panel, System, Advanced, Environment Variables, User Variables for Administrator, PATH. The target_list is one or more space separated tasks as described below. TARGETS
compile compiles all Java source code. jar assembles the EJB JAR module. war assembles the WAR file in <sample_dir>/assemble/war ear assembles the EAR file in <sample_dir>/assemble/ear core (default) compiles all sources, builds stubs and skeletons; and assembles EJB JAR, WAR and EAR files. This is the default target for all build.xml files shipped in the Sun ONE Application Server. javadocs creates Java docs in <sample_dir>/javadocs all builds core and javadocs , verifies and deploys the application, and adds the resources.. deploy deploys the application and automatically expands the EJB JAR; does not install Javadocs. undeploy removes the deployed sample from the Sun ONE Application Server. clean removes <appname>/build/ and <appname>/assemble/ and <appname>/javadocs directories. verify verifies the deployment descriptors in the sample. Example 1: Compiling and Assembling a Sample Application Using the simple stateless EJB sample as an example, execute several of the build targets as follows: cd install_root/samples/ejb/stateless/simple/src Execute the compile target to compile the Java sources as follows: asant compile Execute the war, ear, and ejbjar target to assemble the J2EE module files and the EAR file as follows by: asant jar asant war asant ear Alternatively, all the above tasks can be accomplished by: asant core Since the default build target is core you can execute asant without any arguments to rebuild the entire application. Example 2: Building Web-based Applications You can build everything, including installing Javadocs, and deploying the application by: asant all Additionally, you can build everything, except the Javadocs, but deploy the application by: asant core or just, asant then, asant deploy To rebuild the ear after you have modified the deployment descriptors without recompiling: asant ear asant deploy Apache Software Foundation at http://www.apache.org, Jakarta Ant documentation at http://jakarta.apache.org/ant/index.html. SUNWant documentation located in /usr/sfw/share/doc/ant , asadmin(1M) Sun Java System Application Server March 2004 asant(1M)
All times are GMT -4. The time now is 04:15 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy