On Sun, 19 Mar 2006 03:02:51 +0000, Bob wrote:

> On Sat, 18 Mar 2006 20:44:17 -0500, Paul Jarc wrote:
> 
>> Bob <[EMAIL PROTECTED]> wrote:
>>>     XXX='a "b c" d'
>>>     for x in $XXX ; do
>>>             echo $x
>>>     done
>> 
>> XXX='a "b c" d'
>> eval "set $XXX"
>> for x in "$@" ; do
>>      echo $x
>> done
>> 
>> If the first element in XXX might start with "-", then it takes a little
>> more work to ensure it isn't misinterpreted as an option to "set": eval
>> "set x $XXX"
>> shift
>> 
>> 
>> paul
> 
> Great! That works. Unfortunately, the example I gave you was simplified
> from my actual application (too big and confusing to post here). There is
> another complication ... my variable has new-line characters embedded in
> it so the "eval" above gets many invalid command errors. I need to replace
> the new-lines with spaces. I will try the tr command.

Got it working with bash's substitution: xxx=${xxx//$'\n'/ }
_______________________________________________
Bug-bash mailing list
Bug-bash@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-bash

Reply via email to