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