We currently migrate to MediaWiki from our old installation, but not all content has been migrated yet. Take a look at the Wiki Team page for instructions how to help or browse through our new wiki at wiki.linux-vserver.org to find the information already migrated.
For test it, push the source in your .bashrc or put it in the file /etc/bash_completion.d/vserver (Debian).
This release support only the command vserver.
# Completion for the vserver command. Source this file (or on some systems # add it to ~/.bash_completion and start a new shell) and bash's completion # mechanism will know all about vserver's options! # If bash completion is not enabled on your system at all, please do a # . /etc/bash_completion # you can put this line in your .bashrc of course. # Known to work with bash 2.05a with programmable completion and extended # pattern matching enabled (use 'shopt -s extglob progcomp' to enable # these if they are not already enabled). : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars} test -e "$UTIL_VSERVER_VARS" && { . "$UTIL_VSERVER_VARS" . "$_LIB_FUNCTIONS" _vserver() { local cur cmds cmdOpts helpCmds names names_pipe func COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} # find available v-servers: # call function getAllVservers in vserver library getAllVservers names names_pipe=`echo ${names[@]} | sed 's/ /|/g'` # available commands cmds='start stop restart condrestart suexec exec enter chkconfig\ running status build unify pkg apt-get apt-config apt-cache\ rpm pkgmgmt' # options (long and short name) cmdOpts='--help --version --debug --defaulttty -s --sync -v \ --verbose --silent --' # if the previous option is a single option helpCmds='--help|--version' if [[ ${COMP_WORDS[1]} == @($helpCmds) ]] ; then return 0 fi # search a verser's name for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do if [[ ${COMP_WORDS[i]} == @($names_pipe) ]]; then # it's found break fi done if (( $i < ${#COMP_WORDS[@]}-1 )) ; then case ${COMP_WORDS[i+1]} in start) COMPREPLY=( $( compgen -W "--rescue --rescue-cmd" -- $cu r ) ) ;; # No completion for apt-config stop|restart|condrestart|enter|running|status|apt-config) ;; suexec) # I don't know how to do COMPREPLY=( $( compgen -W -- $cur ) ) ;; exec) # I don't know how to do COMPREPLY=( $( compgen -W "" -- $cur ) ) ;; build) COMPREPLY=( $( compgen -W "" -- $cur ) ) ;; unify) COMPREPLY=( $( compgen -W "-R" -- $cur ) ) ;; apt-get|apt-cache) func=${COMP_WORDS[i+1]//-/_} COMP_WORDS=( ${COMP_WORDS[@]:$((i+1))} ) COMP_CWORD=$((COMP_CWORD-i-1)) _${func} ;; *) COMPREPLY=( $( compgen -W "$cmds" -- $cur ) ) ;; esac return 0 else COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) ) return 0 fi return 0 } complete -F _vserver -o default vserver }
Hint: If you add the complete script it into your .bashrc (instead of sourcing it) you need some more of char ":
38: if [[ "${COMP_WORDS[1]}" == "@($helpCmds)" ]] ; then
44: if [[ "${COMP_WORDS[i]}" == "@($names_pipe)" ]]; then
(Mind the ")
To the author of the script: Should we add that?