From 105f2341577159ed25249fb3a6f4573ea6aa2ea8 Mon Sep 17 00:00:00 2001 From: Tom Grennan Date: Wed, 3 Oct 2007 11:09:00 -0700 Subject: replace for loop in allowed search with shell var expansion --- etc/bash_completion.d/vyatta-op | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'etc') diff --git a/etc/bash_completion.d/vyatta-op b/etc/bash_completion.d/vyatta-op index fe402ef..0175528 100644 --- a/etc/bash_completion.d/vyatta-op +++ b/etc/bash_completion.d/vyatta-op @@ -71,18 +71,18 @@ _vyatta_op_get_node_def_field () _vyatta_op_set_allowed_subdirs () { local dir=$1 - local n=${vyatta_op_templates}/${dir}/node.tag/node.def + local -a sdir_ndefs sdirs + local tag_ndef local restore_shopts=$( shopt -p extglob nullglob | tr \\n \; ) shopt -s extglob nullglob - unset _vyatta_op_allowed - for a in ${vyatta_op_templates}/${dir}/!(node.tag) ; do - [[ -d $a && -f $a/node.def ]] && \ - _vyatta_op_allowed+=( ${a##*/} ) - done + sdir_ndefs=( ${vyatta_op_templates}/${dir}/!(node.tag)/node.def ) + sdirs=( ${sdir_ndefs[@]%/*} ) + _vyatta_op_allowed=( ${sdirs[@]##*/} ) - if [ -f $n ] ; then - local acmd=$( _vyatta_op_get_node_def_field $n allowed ) + tag_ndef=${vyatta_op_templates}/${dir}/node.tag/node.def + if [ -f $tag_ndef ] ; then + local acmd=$( _vyatta_op_get_node_def_field $tag_ndef allowed ) _vyatta_op_allowed+=($( eval "$acmd" )) fi -- cgit v1.2.3