diff options
Diffstat (limited to 'completions/sysctl')
-rw-r--r-- | completions/sysctl | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/completions/sysctl b/completions/sysctl new file mode 100644 index 0000000..005452d --- /dev/null +++ b/completions/sysctl @@ -0,0 +1,31 @@ +# bash completion for sysctl -*- shell-script -*- + +_sysctl() +{ + local cur prev words cword + _init_completion || return + + case $prev in + --help | --version | --pattern | -!(-*)[hVr]) + return + ;; + --load | -!(-*)[pf]) + _filedir conf + return + ;; + esac + + if [[ $cur == -* ]]; then + local opts="$(_parse_help "$1")" + COMPREPLY=($(compgen -W '${opts:-$(_parse_usage "$1")}' -- "$cur")) + else + local suffix= + [[ $prev == -w ]] && suffix="=" + COMPREPLY=($(compgen -S "$suffix" -W \ + "$(PATH="$PATH:/sbin" $1 -N -a 2>/dev/null)" -- "$cur")) + [[ ${COMPREPLY-} == *= ]] && compopt -o nospace + fi +} && + complete -F _sysctl sysctl + +# ex: filetype=sh |