diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2018-12-06 18:51:56 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2018-12-07 08:05:18 +0100 |
commit | 83da42c3bf86e8787cfec2c7fb6ca379dfec3632 (patch) | |
tree | 1636bc803cd2a8bbfa5326e1ad1edf4cc1271c1c /shell-completion | |
parent | Merge pull request #11072 from yuwata/fix-networkctl-ip6gre (diff) | |
download | systemd-83da42c3bf86e8787cfec2c7fb6ca379dfec3632.tar.gz systemd-83da42c3bf86e8787cfec2c7fb6ca379dfec3632.tar.bz2 systemd-83da42c3bf86e8787cfec2c7fb6ca379dfec3632.zip |
bash-completion: analyze: support 'security'
Diffstat (limited to 'shell-completion')
-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 a8bc752f1..6c8c0c14c 100644 --- a/shell-completion/bash/systemd-analyze +++ b/shell-completion/bash/systemd-analyze @@ -30,8 +30,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=( @@ -50,6 +55,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 @@ -148,6 +154,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") ) |