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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
LEARN ABOUT SUNOS
echo
echo(1B) SunOS/BSD Compatibility Package Commands echo(1B)NAME
echo - echo arguments to standard output
SYNOPSIS
/usr/ucb/echo [-n] [argument]
DESCRIPTION
echo writes its arguments, separated by BLANKs and terminated by a NEWLINE, to the standard output.
echo is useful for producing diagnostics in command files and for sending known data into a pipe, and for displaying the contents of envi-
ronment variables.
For example, you can use echo to determine how many subdirectories below the root directory (/) is your current directory, as follows:
o echo your current-working-directory's full pathname
o pipe the output through tr to translate the path's embedded slash-characters into space-characters
o pipe that output through wc -w for a count of the names in your path.
example% /usr/bin/echo "echo $PWD | tr '/' ' ' | wc -w"
See tr(1) and wc(1) for their functionality.
The shells csh(1), ksh(1), and sh(1), each have an echo built-in command, which, by default, will have precedence, and will be invoked if
the user calls echo without a full pathname. /usr/ucb/echo and csh's echo() have an -n option, but do not understand back-slashed escape
characters. sh's echo(), ksh's echo(), and /usr/bin/echo, on the other hand, understand the black-slashed escape characters, and ksh's
echo() also understands a as the audible bell character; however, these commands do not have an -n option.
OPTIONS -n Do not add the NEWLINE to the output.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWscpu |
+-----------------------------+-----------------------------+
SEE ALSO csh(1), echo(1), ksh(1), sh(1), tr(1), wc(1), attributes(5)NOTES
The -n option is a transition aid for BSD applications, and may not be supported in future releases.
SunOS 5.10 3 Aug 1994 echo(1B)