On Tue, 28 Jul 2009, mk27 wrote:

> 
> cc=('who' 'bash -c "time ls -l"' 'date')
> 
> for e in 0 1 2; do ${cc[$e]}; done
> 
> produces an error:
> ls: -c: line 0: unexpected EOF while looking for matching `"'
> ls: -c: line 1: syntax error: unexpected end of file
> 
> well, there isn't a missing " AFAICT, and playing around with them has not
> helped.  Does anyone have a way out of this?

   Take a look at the arguments you are actually using:

printf "%s\n" ${cc[1]}

   Use eval:

for e in 0 1 2
do
  eval "${cc[$e]}"
done

-- 
   Chris F.A. Johnson, webmaster         <http://woodbine-gerrard.com>
   ===================================================================
   Author:
   Shell Scripting Recipes: A Problem-Solution Approach (2005, Apress)


Reply via email to