/bash_completion.d/shadow
http://github.com/brinkman83/bashrc · #! · 501 lines · 406 code · 95 blank · 0 comment · 0 complexity · c62642a786329aa07702b0c09965a9e8 MD5 · raw file
- # bash completion for shadow utils
- have useradd &&
- _useradd()
- {
- local cur prev split=false
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- _split_longopt && split=true
- # TODO: if -o/--non-unique is given, could complete on existing uids
- # with -u/--uid
- case "$prev" in
- -c|--comment|-h|--help|-e|--expiredate|-f|--inactive|-k|--key|-p|--password|-u|--uid|-Z|--selinux-user)
- return 0
- ;;
- -b|--base-dir|-d|--home|-k|--skel)
- _filedir -d
- return 0
- ;;
- -g|--gid)
- _gids
- [ -n "$bash205" ] && \
- COMPREPLY=( "${COMPREPLY[@]}" $( compgen -g ) )
- COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
- return 0
- ;;
- -G|--groups)
- [ -n "$bash205" ] && \
- COMPREPLY=( $( compgen -g -- "$cur" ) )
- return 0
- ;;
- -s|--shell)
- _shells
- return 0
- ;;
- esac
- $split && return 0
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-b --base-dir -c --comment -d --home\
- -D --defaults -e --expiredate -f --inactive -g --gid \
- -G --groups -h --help -k --skel -K --key -l -M \
- -m --create-home -N --no-user-group -o --non-unique \
- -p --password -r --system -s --shell -u --uid \
- -U --user-group -Z --selinux-user' -- "$cur" ) )
- return 0
- fi
- } &&
- complete -F _useradd useradd
- have usermod &&
- _usermod()
- {
- local cur prev split=false
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- _split_longopt && split=true
- # TODO: if -o/--non-unique is given, could complete on existing uids
- # with -u/--uid
- case "$prev" in
- -c|--comment|-d|--home|-e|--expiredate|-f|--inactive|-h|--help|-l|--login|-p|--password|-u|--uid|-Z|--selinux-user)
- return 0
- ;;
- -g|--gid)
- _gids
- [ -n "$bash205" ] && \
- COMPREPLY=( "${COMPREPLY[@]}" $( compgen -g ) )
- COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
- return 0
- ;;
- -G|--groups)
- [ -n "$bash205" ] && \
- COMPREPLY=( $( compgen -g -- "$cur" ) )
- return 0
- ;;
- -s|--shell)
- _shells
- return 0
- ;;
- esac
- $split && return 0
- if [[ "$cur" == -* ]]; then
- # TODO: -U/--unlock, -p/--password, -L/--lock mutually exclusive
- COMPREPLY=( $( compgen -W '-a --append -c --comment -d --home \
- -e --expiredate -f --inactive -g --gid -G --groups \
- -h --help -l --login -L --lock -o --non-unique \
- -p --password -s --shell -u --uid -U --unlock \
- -Z --selinux-user' -- "$cur" ) )
- return 0
- fi
- COMPREPLY=( $( compgen -u -- "$cur" ) )
- } &&
- complete -F _usermod usermod
- have userdel &&
- _userdel()
- {
- local cur
- COMPREPLY=()
- cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-f --force -h --help -r --remove' \
- -- "$cur" ) )
- return 0
- fi
- COMPREPLY=( $( compgen -u -- "$cur" ) )
- } &&
- complete -F _userdel userdel
- have chage &&
- _chage()
- {
- local cur prev split=false
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- _split_longopt && split=true
- case "$prev" in
- -d|--lastday|-E|--expiredate|-h|--help|-I|--inactive|-m|--mindays|-M|--maxdays|-W|--warndays)
- return 0
- ;;
- esac
- $split && return 0
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-d --lastday -E --expiredate \
- -h --help -I --inactive -l --list -m --mindays \
- -M --maxdays -W --warndays' -- "$cur" ) )
- return 0
- fi
- COMPREPLY=( $( compgen -u -- "$cur" ) )
- } &&
- complete -F _chage chage
- have passwd &&
- _passwd()
- {
- local cur prev
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- case "$prev" in
- -n|-x|-w|-i|-\?|--help|--usage)
- return 0
- ;;
- esac
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-k -l --stdin -u -d -n -x -w -i -S \
- -? --help --usage' -- "$cur" ) )
- return 0
- fi
- COMPREPLY=( $( compgen -u -- "$cur" ) )
- } &&
- complete -F _passwd passwd
- have chpasswd &&
- _chpasswd()
- {
- local cur prev split=false
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- _split_longopt && split=true
- case "$prev" in
- -c|--crypt)
- COMPREPLY=( $( compgen -W 'DES MD5 NONE SHA256 SHA512' \
- -- "$cur" ) )
- return 0
- ;;
- -s|--sha-rounds)
- return 0
- ;;
- esac
- $split && return 0
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-c --crypt-method -e --encrypted \
- -h --help -m --md5 -s --sha-rounds' -- "$cur" ) )
- return 0
- fi
- } &&
- complete -F _chpasswd chpasswd
- have newusers &&
- _newusers()
- {
- local cur prev split=false
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- _split_longopt && split=true
- case "$prev" in
- -c|--crypt)
- COMPREPLY=( $( compgen -W 'DES MD5 NONE SHA256 SHA512' \
- -- "$cur" ) )
- return 0
- ;;
- -s|--sha-rounds)
- return 0
- ;;
- esac
- $split && return 0
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-c --crypt-method --r --system \
- -s --sha-rounds' -- "$cur" ) )
- return 0
- fi
- _filedir
- } &&
- complete -F _newusers $filenames newusers
- have pwck &&
- _pwck()
- {
- local cur
- COMPREPLY=()
- cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-q -r -s' -- "$cur" ) )
- return 0
- fi
- _filedir
- } &&
- complete -F _pwck $filenames pwck
- have groupadd &&
- _groupadd()
- {
- local cur prev split=false
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- _split_longopt && split=true
- # TODO: if -o/--non-unique is given, could complete on existing gids
- # with -g/--gid
- case "$prev" in
- -g|--gid|-K|--key|-p|--password)
- return 0
- ;;
- esac
- $split && return 0
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-f --force -g --gid -h --help \
- -K --key -o --non-unique -p --password -r --system' \
- -- "$cur" ) )
- return 0
- fi
- } &&
- complete -F _groupadd groupadd
- have groupmod &&
- _groupmod()
- {
- local cur prev split=false
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- _split_longopt && split=true
- # TODO: if -o/--non-unique is given, could complete on existing gids
- # with -g/--gid
- case "$prev" in
- -g|--gid|-h|--help|-n|--new-name|-p|--password)
- return 0
- ;;
- esac
- $split && return 0
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-g --gid -h --help -n --new-name \
- -o --non-unique -p --password' -- "$cur" ) )
- return 0
- fi
- [ -n "$bash205" ] && COMPREPLY=( $( compgen -g -- "$cur" ) )
- } &&
- complete -F _groupmod groupmod
- [ -n "$bash205" ] && complete -g groupdel
- have newgrp &&
- _newgrp()
- {
- COMPREPLY=()
- if [[ "`_get_cword`" == "-" ]]; then
- COMPREPLY=( - )
- fi
- } &&
- complete ${bash205:+-g} -F _newgrp newgrp
- have gpasswd &&
- _gpasswd()
- {
- local cur prev
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- case "$prev" in
- -a|-d|-A|-M)
- COMPREPLY=( $( compgen -u -- "$cur" ) )
- return 0
- ;;
- esac
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-a -d -r -R -A -M' -- "$cur" ) )
- return 0
- fi
- [ -n "$bash205" ] && COMPREPLY=( $( compgen -g -- "$cur" ) )
- } &&
- complete -F _gpasswd gpasswd
- have groupmems &&
- _groupmems()
- {
- local cur prev
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- case "$prev" in
- -a|-d)
- COMPREPLY=( $( compgen -u -- "$cur" ) )
- return 0
- ;;
- -g)
- [ -n "$bash205" ] && \
- COMPREPLY=( $( compgen -g -- "$cur" ) )
- return 0
- ;;
- esac
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-a -d -p -g -l' -- "$cur" ) )
- return 0
- fi
- } &&
- complete -F _groupmems groupmems
- have grpck &&
- _grpck()
- {
- local cur
- COMPREPLY=()
- cur=`_get_cword`
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-r -s' -- "$cur" ) )
- return 0
- fi
- _filedir
- } &&
- complete -F _grpck $filenames grpck
- have vipw || have vigr &&
- _vipw()
- {
- local cur prev
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- case "$prev" in
- -h|--help)
- return 0
- ;;
- esac
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-g --group -h --help -p --passwd \
- -q --quiet -s --shadow' -- "$cur" ) )
- return 0
- fi
- } &&
- complete -F _vipw vipw vigr
- have faillog &&
- _faillog()
- {
- local cur prev split=false
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- _split_longopt && split=true
- case "$prev" in
- -h|--help|-l|--lock-time|-m|--maximum|-t|--time)
- return 0
- ;;
- -u|--user)
- COMPREPLY=( $( compgen -u -- "$cur" ) )
- return 0
- ;;
- esac
- $split && return 0
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-a --all -h --help -l --lock-time \
- -m --maximum -r --reset -t --time -u --user' -- "$cur" ) )
- return 0
- fi
- } &&
- complete -F _faillog faillog
- have lastlog &&
- _lastlog()
- {
- local cur prev split=false
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- _split_longopt && split=true
- case "$prev" in
- -b|--before|-h|--help|-t|--time)
- return 0
- ;;
- -u|--user)
- COMPREPLY=( $( compgen -u -- "$cur" ) )
- return 0
- ;;
- esac
- $split && return 0
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-b --before -h --help -t --time \
- -u --user' -- "$cur" ) )
- return 0
- fi
- } &&
- complete -F _lastlog lastlog
- # Local variables:
- # mode: shell-script
- # sh-basic-offset: 4
- # sh-indent-comment: t
- # indent-tabs-mode: nil
- # End:
- # ex: ts=4 sw=4 et filetype=sh