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)