Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 08 Aug 1998 18:45:25 +0200
From:      Trifkac <code@luna.nl>
To:        freebsd-questions@FreeBSD.ORG
Subject:   shell problem do while loop
Message-ID:  <35CC80A5.3B00716C@luna.nl>

next in thread | raw e-mail | index | archive | help
 

Hi,

Would anyone know already the answer to this problem ?
The default free bsd shell gives the same problem...

Trifkac

-------------------

Hi,

The following is on 3.0-CURRENT using pdksh.

Given the following sample Korn Shell script:

export FOO=foo
echo $FOO

echo bar | while read var; do
   export FOO=$var
   echo $FOO
done

echo $FOO

The output is:
foo
bar
foo

where I was expecting:
foo
bar
bar
 

  If I put the value 'bar' in a file and change the while
loop to:

echo bar > varfile
while read var; do
   export FOO=$var
   echo $FOO
done < varfile

  I get the expected reult with the above.

  It seems that the pipe '|' is causing the 'while read var' to
execute in a subshell. Does anyone know of a way to make this
work the way I am expecting it to? fyi: this seems to work ok
under hpux.

Thanks,
John


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35CC80A5.3B00716C>