# 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 -c|--comment|-h|--help|-e|--expiredate|-f|--inactive|-K|--key|\ -p|--password|-u|--uid|-Z|--selinux-user) return 0 ;; -b|--base-dir|-d|--home-dir|-k|--skel|-R|--root) _filedir -d return 0 ;; -g|--gid) _gids COMPREPLY=( $( compgen -W '${COMPREPLY[@]} $( compgen -g )' \ -- "$cur" ) ) return 0 ;; -G|--groups) local prefix=; [[ $cur == *,* ]] && prefix="${cur%,*}," COMPREPLY=( $( compgen -P "$prefix" -g -- "${cur##*,}" ) ) return 0 ;; -s|--shell) _shells return 0 ;; esac $split && return 0 if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) return 0 fi } && complete -F _useradd useradd # ex: ts=4 sw=4 et filetype=sh