So simple... thanks!
________________________________ From: "Cook, Malcolm" <[email protected]> To: 'giorgos sermaidis' <[email protected]>; "'[email protected]'" <[email protected]> Sent: Monday, 9 January 2012, 15:11 Subject: RE: bash arrays in parallel parallel my_program ::: ${x[@]} ~Malcolm From:[email protected] [mailto:[email protected]] On Behalf Of giorgos sermaidis Sent: Sunday, January 08, 2012 7:30 PM To: [email protected] Subject: bash arrays in parallel Hello all, I am trying to run a program with different arguments which are read from a bash array. So far I had been doing x=(0.1 0.2 0.3) # the arguments for i in $(seq 0 1 2) do my_program ${x[$i]} & done This would run my_program for all arguments in parallel. I have been trying to achieve the same result using GNU parallel but have not been able to so far. I have been trying (I have replace my_program by echo for simplicity) (1) seq 0 1 2 | parallel echo ${x[{1}]} (2) seq 0 1 2 | parallel echo $"{"x[{1}]"}" (3) seq 0 1 2 | parallel echo \${x[{1}]} with outputs (1) bash: {1}: syntax error: operand expected (error token is "{1}") (2) no output (3) {x[0]} {x[1]} {x[2]} Is there any way to get what is expected, i.e. 0.1 0.2 0.3 ? I have read the parallel manual about quoting but have not worked it out completely... Thanks in advance for any suggestions!
