# 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[@]} == 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