On Sat, Jan 30, 2010 at 3:07 AM, Udo Richter udo_richter@gmx.de wrote:
The correct way to place every array element as one parameter, without doing any additional whitespace separation, is this:
"$vdrbin" -L "$vdrlib" "${vdrplug[@]}"
In contrast, "${vdrplug[*]}" merges all to one parameter, ${vdrplug[@]} does another whitespace separation run.
runvdr extreme also uses a bash array for building the command line.
What makes that "correct"? Just sounds like a different (and more complicated, ..I guess) way to accomplish the same end result, but no more "correct" then using double/single quotes.
I'm no bash expert but STRING="$STRING -P'asdf arg'" works equally as well as ARRAY=( "${ARRAY[@]}" <new item> ) in my experience. What am I missing?