# useradd(8) completion -*- shell-script -*- _useradd() { local cur prev words cword split _init_completion -s || return # TODO: if -o/--non-unique is given, could complete on existing uids # with -u/--uid case $prev in --comment|--help|--expiredate|--inactive|--key|--password|--uid|\ --selinux-user|-!(-*)[chefKpuZ]) return ;; --base-dir|--home-dir|--skel|--root|-!(-*)[bdkR]) _filedir -d return ;; --gid|-!(-*)g) _gids COMPREPLY=( $(compgen -W '${COMPREPLY[@]} $(compgen -g)' \ -- "$cur") ) return ;; --groups|-!(-*)G) local prefix=; [[ $cur == *,* ]] && prefix="${cur%,*}," COMPREPLY=( $(compgen -g -- "${cur##*,}") ) [[ ${#COMPREPLY[@]} -eq 1 ]] && COMPREPLY=( ${COMPREPLY/#/$prefix} ) return ;; --shell|-!(-*)s) _shells return ;; esac $split && return [[ "$cur" == -* ]] && \ COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") ) } && complete -F _useradd useradd # ex: filetype=sh