On 03/02/11 10:44, Dave Reisner wrote:
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[@]}
Of course... It all seems so simple now!
Thanks,
Allan