diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2018-12-06 18:51:56 +0100 |
---|---|---|
committer | The Plumber <50238977+systemd-rhel-bot@users.noreply.github.com> | 2019-07-26 13:43:39 +0200 |
commit | 8d1a8f099dbf79d0e18e055721228192a637a759 (patch) | |
tree | 0a51fce216c07a2cc0c77565fc394e4188668287 | |
parent | d70e1c2eb596b8144197192e2324abbb45f547a6 (diff) | |
download | systemd-8d1a8f099dbf79d0e18e055721228192a637a759.tar.gz |
bash-completion: analyze: support 'security'
(cherry picked from commit 83da42c3bf86e8787cfec2c7fb6ca379dfec3632)
Resolves: #1733395
-rw-r--r-- | shell-completion/bash/systemd-analyze | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/shell-completion/bash/systemd-analyze b/shell-completion/bash/systemd-analyze index 21d0fcf1b8..b4fcfc6492 100644 --- a/shell-completion/bash/systemd-analyze +++ b/shell-completion/bash/systemd-analyze @@ -31,8 +31,13 @@ __get_machines() { machinectl list --no-legend --no-pager | { while read a b; do echo " $a"; done; }; } +__get_services() { + systemctl list-units --no-legend --no-pager -t service --all $1 | \ + { while read -r a b c; do [[ $b == "loaded" ]]; echo " $a"; done } +} + _systemd_analyze() { - local i verb comps + local i verb comps mode local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} local -A OPTS=( @@ -51,6 +56,7 @@ _systemd_analyze() { [SECCOMP_FILTER]='syscall-filter' [SERVICE_WATCHDOGS]='service-watchdogs' [CAT_CONFIG]='cat-config' + [SECURITY]='security' ) local CONFIGS='systemd/bootchart.conf systemd/coredump.conf systemd/journald.conf @@ -149,6 +155,18 @@ _systemd_analyze() { comps="$CONFIGS $( compgen -A file -- "$cur" )" compopt -o filenames fi + + elif __contains_word "$verb" ${VERBS[SECURITY]}; then + if [[ $cur = -* ]]; then + comps='--help --version --no-pager --system --user -H --host -M --machine' + else + if __contains_word "--user" ${COMP_WORDS[*]}; then + mode=--user + else + mode=--system + fi + comps=$( __get_services $mode ) + fi fi COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) |