| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 
 | _su_module()
{
	local cur prev OPTS
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'-'|'-u'|'--user')
			COMPREPLY=( $(compgen -u -- $cur) )
			return 0
			;;
		'-g'|'--group'|'-G'|'--supp-group')
			COMPREPLY=( $(compgen -g -- $cur) )
			return 0
			;;
		'-s'|'--shell')
			COMPREPLY=( $(compgen -W "$(chsh -l)" -- $cur) )
			return 0
			;;
		'-h'|'--help'|'-V'|'--version')
			return 0
			;;
	esac
	case $cur in
		-*)
			OPTS="	--user
				--preserve-environment
				--whitelist-environment
				--group
				--supp-group
				--login
				--command
				--session-command
				--fast
				--shell
				--help
				--version"
			COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
			return 0
			;;
	esac
	local IFS=$'\n'
	compopt -o filenames
	COMPREPLY=( $(compgen -f -- $cur) )
	return 0
}
complete -F _su_module su
complete -F _su_module runuser
 |