aboutsummaryrefslogtreecommitdiffstats
path: root/bash-completion
diff options
context:
space:
mode:
authorChristoph Anton Mitterer <mail@christoph.anton.mitterer.name>2024-11-25 02:35:34 +0100
committerChristoph Anton Mitterer <mail@christoph.anton.mitterer.name>2024-11-25 02:35:34 +0100
commit364f87a474ed9945e5b5527ebefe2bb15a721237 (patch)
tree4a0f9dc7f4a1024602587f8bb05fdfc09ccdc782 /bash-completion
parent23a4dc0a35ec9d77653dfca509210ee6bb4c96e6 (diff)
downloadutil-linux-364f87a474ed9945e5b5527ebefe2bb15a721237.tar.gz
bash-completion: complete `--user` only for `runuser`, not for `su`
Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
Diffstat (limited to 'bash-completion')
-rw-r--r--bash-completion/su10
1 files changed, 7 insertions, 3 deletions
diff --git a/bash-completion/su b/bash-completion/su
index 913e445230..6eba9ddd36 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
;;