delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/01/14/17:40:05

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS
X-Spam-Check-By: sourceware.org
From: "Damo, David" <David DOT Damo AT CIBC DOT com>
To: "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com>
Date: Thu, 14 Jan 2010 17:39:44 -0500
Subject: Can't set variables in a while loop that is passed to the rest of the script.
Message-ID: <EDF49EC9787F914CA157FF6927D65A88302633AB3C@CBMCC-X7-MBX10.ad.cibc.com>
MIME-Version: 1.0
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Hi,

I had a script that worked on UNIX, but on Cygwin it does not work. When I =
set a variable in a while loop I can't use it after the loop. However, this=
 worked in UNIX. Any ideas why? All variables set after the done command ar=
e blank, but can be seen in the while loop.

propfile=3D${SCRIPT_HOME}/${propfilename}
sed 's/\$/^/g' $propfile | while read line
do
	export david=3D"Hello"
	nvpair=3D$(echo $line | awk -F"=3D" '{print $1,$2}')
	set -- $nvpair
	if [ ! "$1" =3D ""  ]; then
		eval "$1"=3D\"$2\"
	fi
done

echo $david

echo "Setting siteminder_home"
echo $siteminder_home

Thanks,

David

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019