` Michael Witten wrote:
On Sat, Aug 13, 2011 at 23:41, Linda Walsh <b...@tlinx.org> wrote:
${#${!name}[*]}
bash: ${#${!name}[*]}: bad substitution

It's probably what you're trying to avoid, but you'll probably have to
construct and then eval the right code by hand:

  $(eval "echo \${#$name[*]}")
bingo.  (sigh)

I refactored and am essentially using spaces to store the values in
a string, then when I want to check the, I throw them into an array and manip.
e.g. (not showing all supporting code)

  declare -axr _plst_t='_plist_'
 declare -axl defined_PLists=()

add things to the list...

   plist="$_plst_t$plist"
   local -al plist_deps=( $plist )

{search for value in list, ...]

   unless ((found)) ; then
       plist_deps[${#plist_deps[*]}]="$subdep"
       eval "$plist=( "$plist_deps[@]" )"
   fi




Reply via email to