|
From: | Linda Walsh |
Subject: | Re: Syntax Question... |
Date: | Sat, 13 Aug 2011 21:55:15 -0700 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.24) Gecko/20100228 Thunderbird/2.0.0.24 Mnenhy/0.7.6.666 |
` Michael Witten wrote:
On Sat, Aug 13, 2011 at 23:41, Linda Walsh <bash@tlinx.org> wrote:${#${!name}[*]} bash: ${#${!name}[*]}: bad substitutionIt'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 ina 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
[Prev in Thread] | Current Thread | [Next in Thread] |