Thanks for quick responses from
Steve VanDevender
Kurt Carlson
Kevin Partin
Richard Sharpe
and Ian Mortimer
The kewpie dolls go to Steve and Ian who noted that "read" is a shell
internal for Bourne shell and is executed as a sub-shell. Thus the
variable mydir gets set in the sub-shell and never exists in the calling
shell.
All of the above recommended using mydir=`pwd` instead.
[Original post]
>
> I am NOT a shell expert (yet!), so I may just be misunderstanding this...
>
> I expect the following script to set the variable mydir to the current
> working directory. If I run it under the Korn shell, it does what
> I expect. If I run it under Bourne shell, then mydir echoes as empty.
>
>
> #!/usr/bin/ksh
> #
> # This does not seem to work using sh but does for ksh
> #
> pwd | read mydir
> echo $mydir
>
> The man pages for "read" don't indicate any variation due to shell.
> Is this the expected function of "sh" and "ksh"?
--CHRis
-
=============================================================================
Chris H. Ruhnke Phone: (314)233-7314
IBM Global Services M/S S306-6340 FAX : (314)234-2262
325 J.S. McDonnell Blvd Email: Ruhnke_at_US.ibm.com
Hazelwood, MO 63042
Received on Mon May 24 1999 - 11:46:34 NZST