Sponsored Content
Top Forums Shell Programming and Scripting Unable to set Global variable outside while loop Post 302943492 by mohtashims on Saturday 9th of May 2015 04:26:53 AM
Old 05-09-2015
Hammer & Screwdriver Unable to set Global variable outside while loop

Below is my code:
Code:
 
count=0
if 
...
...
else
...
find * -prune -type d | sort -r -n |  while read d; do
count=1
 if [ "$count" == "1" ]; then
 echo "Count1:$count"
 ...
 ...
 break 2;
 fi
...
done 
...
fi
echo "Count2:$count"
if [ "$count" != "1" ]; then
echo "Problem"
fi

Output:
Count1:1
Count2:0
Problem

I did not expect "Problem" to be printed as i was expecting Count2:1.
I tried putting "( while read d; do" but i am not sure where should i close ")" to get it working.
Where am i going wrong and how should i resolve this.

Last edited by mohtashims; 05-09-2015 at 05:35 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

global variable not being set

In ksh I thought a global variable was any variable in a script or function that did not have the typeset command. I have a global in my calling script which I increment in a function, but the value does not change in the calling script. Here is the code: function f_open_log { typeset -r... (5 Replies)
Discussion started by: robotball
5 Replies

2. Shell Programming and Scripting

set variable in while loop?

Dear All, Can anyone advise why this script isn't run as expected? =========================== status=0 cat /etc/passwd | while read line; do status=1 done echo $status =========================== it always return 0 , but not 1. why? anything wrong? Thanks. (1 Reply)
Discussion started by: tiger2000
1 Replies

3. Shell Programming and Scripting

unable to access a variable not local to a while loop

I have a while loop like this cat ${filename} | while read fileline do ... done I need to access a variable value $newfile inside this while loop How will i do that?? (6 Replies)
Discussion started by: codeman007
6 Replies

4. Shell Programming and Scripting

Unable to access variable outside loop

I am unable to access the value set inside the loop from outside loop . Thought of taking this to forum , I had seen other replies also , where a pipe takes the execution to another shell and mentioned thats the reason we do not get the variable outside loop . But I am getting an issue and I am... (1 Reply)
Discussion started by: Armaan_S
1 Replies

5. UNIX for Dummies Questions & Answers

set global rm command

Hi, My team does not have root access however many a times my members logon to the unix server and fire the rm command mistakenly on wrong folder and later realise that they have made a mess. The rm -i option prompts for a confirmation before actually deleting the files/folders. I want to... (5 Replies)
Discussion started by: shifahim
5 Replies

6. Shell Programming and Scripting

use variable to set the range of a for loop

Hi; For sure there's an easy answer to this one that I am not finding.. I first set a variable, say b1a:] max=5 then I want to use max to set the range for a for loop like so (it should run for i in 1:5) b1a:] for i in {1..$max}; do echo $i; done {1..5} I would like the output... (2 Replies)
Discussion started by: jbr950
2 Replies

7. Shell Programming and Scripting

Unable to set my PATH variable

Hello All, Hope you can understand my problem from the below code. $ cat ~/.profile PS1=`whoami`@`hostname`':$PWD $ ' export PATH="$PATH:.:/logarchive/utility/util:/usr/sbin:" $ echo $PATH /usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:.:/usr/sbin: $ echo $SHELL /usr/bin/ksh ... (6 Replies)
Discussion started by: sathyaonnuix
6 Replies

8. Solaris

Netra X1 LOM: Unable to change any variable via the "set" command

I'm posting here as it didn't seem quite right in the hardware section (as it's LOM commands). My apologies if I have that wrong though :) I've finally gotten round to configuring the LOM on my Netra X1, but I can't get it to change the hostname via the "set" command: lom>show hostname... (2 Replies)
Discussion started by: Smiling Dragon
2 Replies

9. Programming

Global variable in for loop (BASH)

Hello, I'm trying to read the variable "pause" from a for loop without luck. The function is dependant on the outcome of the test within the loop. If i run this, pause is always 0 within the function. Any ideas? Thanks. pause=0 users=1 (for (( ; ; )) do speed=`cat speed.log` ... (7 Replies)
Discussion started by: shadyuk
7 Replies

10. Shell Programming and Scripting

Unable to compare to a previous value of a variable in a while loop for a file

Hello All, I'm working on a script that will actually read a file consisting of data like the below:(ReportID,Sub_reportID,Sub_reportName) 1,1,ABC 1,2,DEF 1,3,GHI 2,1,JKL 2,2,MNO 3,1,PQR I want to read the Sub Report details for a Report_ID using while loop and write these values into... (6 Replies)
Discussion started by: venkat_reddy
6 Replies
TPING(1)							   LAM COMMANDS 							  TPING(1)

NAME
tping - Send echo messages to LAM nodes. SYNOPSIS
tping [-hv] [-c count] [-d delay] [-l length] nodes OPTIONS
-h Print the command help menu. -v Turn OFF verbose mode. -c count Send count messages. -d delay Delay delay seconds between each message. -l length Each message is length bytes long. DESCRIPTION
The tping command sends messages to, and collects replies from, a list of nodes, via the LAM echo server. It is similar to the UNIX ping(8) command, and is used as a quick diagnosis of the LAM network. Unless options are specified, tping sends a 1 byte message an infinite number of times, displaying the roundtrip time of each message as it completes, with a delay of 1 second between roundtrips. After the loop is broken (with keyboard interrupt, eg: ^C), tping prints statis- tics about all roundtrip messages. EXAMPLES
tping h Echo messages to the local node. tping -v n7 -l 1000 -c 10 Echo 1000 byte messages to node 7. Stay silent while working. Stop after 10 roundtrips and report statistics. BUGS
There is no built-in timeout and tping will wait forever to receive an echo. If no echo is received, due to a dead link or node, tping hangs. Stop the process with a keyboard suspend signal (eg: ^Z) and terminate LAM with lamhalt(1) or lamwipe(1) (although the use of lamwipe(1) is deprecated). SEE ALSO
lamhalt(1), lamwipe(1) LAM 7.1.4 July, 2007 TPING(1)
All times are GMT -4. The time now is 02:27 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy