diff options
Diffstat (limited to 'etc/bash_completion.d/20vyatta-cfg')
-rw-r--r-- | etc/bash_completion.d/20vyatta-cfg | 44 |
1 files changed, 30 insertions, 14 deletions
diff --git a/etc/bash_completion.d/20vyatta-cfg b/etc/bash_completion.d/20vyatta-cfg index dc05cf1..bc9088f 100644 --- a/etc/bash_completion.d/20vyatta-cfg +++ b/etc/bash_completion.d/20vyatta-cfg @@ -647,6 +647,17 @@ ENDCOMMENT vyatta_help_text="\\nNo help text available" } +generate_pipe_help () +{ + local -a hcomps=( "${_vyatta_pipe_completions[@]}" \ + "${_vyatta_pipe_noncompletions[@]}" ) + local -a hstrs=() + for comp in "${hcomps[@]}"; do + hstrs+=("$(_vyatta_pipe_help "$comp")") + done + generate_help_text hcomps hstrs +} + vyatta_config_complete () { local restore_shopts=$( shopt -p extglob nullglob | tr \\n \; ) @@ -660,6 +671,14 @@ vyatta_config_complete () vyatta_do_help=0 fi + # handle pipe + if _vyatta_pipe_completion "${COMP_WORDS[@]}"; then + generate_pipe_help + vyatta_completions=( "${_vyatta_pipe_completions[@]}" ) + vyatta_do_complete + return + fi + if (( ${#COMP_WORDS[@]} < 2 )); then declare -a hitems=( "commit" \ "delete" \ @@ -707,19 +726,6 @@ vyatta_config_complete () (( num_comp -= 1 )) fi - # handle pipe - if [ "${COMP_WORDS[$num_comp]}" == "|" ]; then - declare -a hitems=( "more" \ - ) - declare -a hstrs=( \ - "Paginate the output" \ - ) - generate_help_text hitems hstrs - vyatta_completions=( "${hitems[@]}" ) - vyatta_do_complete - return - fi - (( last_idx = num_comp - 1 )) comp_words=( ${COMP_WORDS[@]:1:$num_comp} ) @@ -935,12 +941,18 @@ make_vyatta_config_dir () sudo chgrp ${DEF_GROUP} $1 } +if grep -q union=aufs /proc/cmdline || grep -q aufs /proc/filesystems ; then + export UNIONFS=aufs +else + export UNIONFS=unionfs +fi + make_vyatta_config_dir $VYATTA_ACTIVE_CONFIGURATION_DIR make_vyatta_config_dir $VYATTA_CHANGES_ONLY_DIR make_vyatta_config_dir $VYATTA_CONFIG_TMP if [ ! -d $VYATTA_TEMP_CONFIG_DIR ]; then make_vyatta_config_dir $VYATTA_TEMP_CONFIG_DIR - sudo mount -t unionfs -o dirs=${VYATTA_CHANGES_ONLY_DIR}=rw:/opt/vyatta/config/active=ro unionfs ${VYATTA_TEMP_CONFIG_DIR} + sudo mount -t $UNIONFS -o dirs=${VYATTA_CHANGES_ONLY_DIR}=rw:/opt/vyatta/config/active=ro $UNIONFS ${VYATTA_TEMP_CONFIG_DIR} fi # disallow 'Ctrl-D' exit, since we need special actions on 'exit' @@ -970,3 +982,7 @@ complete -F vyatta_config_complete edit complete -F vyatta_config_complete exit complete -F vyatta_run_complete run +# Local Variables: +# mode: shell-script +# sh-indentation: 4 +# End: |