3 Feb
2011
3 Feb
'11
2:44 a.m.
On Thu, Feb 03, 2011 at 10:33:45AM +1000, Allan McRae wrote:
Hi,
Can anyone give me a fix for this:
local optdepends_list eval $(awk '/^[[:space:]]*optdepends=/,/\)/' "$BUILDFILE" | sed "s/optdepends=/optdepends_list+=/")
In bash-3.2, this gives optdepends_list with "" as the first item in the array. It appears that declaring a local variable in bash-3.2 causes it to be given a blank value:
bash-4.1
declare optdepends_list echo ${#optdepends_list[@]} 0
bash-3.2
declare optdepends_list echo ${#optdepends_list[@]} 1
Anyone know how to work around this?
Allan
Sure, just initialize the array as empty. $ declare foo=() $ echo ${#foo[@]} dave