[vox-tech] ksh question

Jeff Newmiller vox-tech@lists.lugod.org
Mon, 28 Jan 2002 11:44:58 -0800 (PST)


On Mon, 28 Jan 2002, Jay Strauss wrote:

> Sorry Jeff, You weren't talking to yourself, I wasn't around this weekend
> 
> To continue your example:
> 
> $ var=value
> $ ref=var
> $ echo ${!ref}
> value
> $ var=newvalue
> echo ${!ref}
> ??????

  $ echo ${!ref}
  newvalue

> 
> I don't have bash at work so I can't determine what the output is of the
> above.  I'm running ksh on an HP, and the ${!ref} doesn't work

Well, you still have the messy alternative I mentioned in my first
message.

> 
> Thanks
> Jay
> 
> 
> ----- Original Message -----
> From: "Jeff Newmiller" <jdnewmil@dcn.davis.ca.us>
> To: "vox-tech" <vox-tech@lists.lugod.org>
> Sent: Saturday, January 26, 2002 10:49 PM
> Subject: Re: [vox-tech] ksh question
> 
> 
> > Sorry to carry on a conversation with myself, but I said...
> >
> > On Sat, 26 Jan 2002, Jeff Newmiller wrote:
> >
> > [...]
> >
> > > In bash, you can do:
> > >
> > >   $ var=value
> > >   $ ref=var
> > >   $ echo ${!ref}
> > >   value
> > >
> > > but unfortunately, you cannot do
> > >
> > >   $ ${!ref}=anothervalue
> >
> > and after experimenting further, I find that the effect can be obtained
> > with:
> >
> >   $ eval $ref=other
> >   $ echo $var
> >   other
> >
> > This is still more like a pointer in C than a reference in C++.
> >
> > --------------------------------------------------------------------------
> -
> > Jeff Newmiller                        The     .....       .....  Go
> Live...
> > DCN:<jdnewmil@dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live
> Go...
> >                                       Live:   OO#.. Dead: OO#..  Playing
> > Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
> > /Software/Embedded Controllers)               .OO#.       .OO#.
> rocks...2k
> > --------------------------------------------------------------------------
> -
> >
> > _______________________________________________
> > vox-tech mailing list
> > vox-tech@lists.lugod.org
> > http://lists.lugod.org/mailman/listinfo/vox-tech
> 
> 
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
> 
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech
> 

---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnewmil@dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                      Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...2k
---------------------------------------------------------------------------