From: Christoph Anton Mitterer Date: Mon, 25 Nov 2024 01:35:34 +0000 (+0100) Subject: bash-completion: complete `--user` only for `runuser`, not for `su` X-Git-Tag: v2.42-start~135^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=364f87a474ed9945e5b5527ebefe2bb15a721237;p=thirdparty%2Futil-linux.git bash-completion: complete `--user` only for `runuser`, not for `su` Signed-off-by: Christoph Anton Mitterer --- diff --git a/bash-completion/su b/bash-completion/su index 913e44523..6eba9ddd3 100644 --- a/bash-completion/su +++ b/bash-completion/su @@ -1,9 +1,10 @@ _su_module() { - local cur prev OPTS + local cur prev OPTS prog COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" + prog="${COMP_WORDS[0]}" case $prev in '-'|'-u'|'--user') COMPREPLY=( $(compgen -u -- $cur) ) @@ -23,8 +24,7 @@ _su_module() esac case $cur in -*) - OPTS=" --user - --preserve-environment + OPTS=" --preserve-environment --whitelist-environment --group --supp-group @@ -35,6 +35,10 @@ _su_module() --shell --help --version" + if [ "${prog}" = runuser ]; then + OPTS=" ${OPTS} + --user" + fi COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) return 0 ;;