Re: [SLUG] Shell stuff

From: Ian Blenke (ian@blenke.com)
Date: Tue Dec 23 2008 - 17:49:00 EST


On Mon, Dec 22, 2008 at 9:14 PM, Paul M Foster <paulf@quillandmouse.com> wrote:
> Here's a shell question I can't find the answer to. I have a command
> that returns a set of newline-delimited values to a single variable.
> Effectively, it looks like this:
>
> MYVAR=alfa
> bravo
> charlie
> delta
> echo
>
> I want to split those values out and into separate shell variables that
> I can use for other things. In the end, it would look like this:
>
> MYALFA=alfa
> MYBRAVO=bravo
> MYCHARLIE=charlie
> MYDELTA=delta
> MYECHO=echo
>
> I can't find any bash facility which does this. Anyone know how to do
> it?

Sounds like you want to do something like this:

  $ MYVAR="alfa bravo charlie delta echo"
  $ eval $(
    for var in $MYVAR ; do
      val=$(echo $var | tr a-z A-Z/ )
      echo MY${val}=$var \;
    done
  )
 $ echo $MYALFA
 alfa

Is this what you meant?

-- 
- Ian Blenke <ian@blenke.com> http://ian.blenke.com
-----------------------------------------------------------------------
This list is provided as an unmoderated internet service by Networked
Knowledge Systems (NKS).  Views and opinions expressed in messages
posted are those of the author and do not necessarily reflect the
official policy or position of NKS or any of its employees.



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 18:08:18 EDT