diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2017-07-27 20:22:54 +0900 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-07-27 07:22:54 -0400 |
commit | 6bda23dd6aaba50cf8e3e6024248cf736cc443ca (patch) | |
tree | eb26306e2a68765373570a4a64d82ff64310aa11 /shell-completion | |
parent | b66c294c4b2ab49d4db4224e1bdc585a0f77e7c2 (diff) | |
download | systemd-6bda23dd6aaba50cf8e3e6024248cf736cc443ca.tar.gz |
bash-completion: use the first argument instead of the global variable (#6457)
Without this fix:
$ systemctl start <tab>
Display all 135 possibilities? (y or n)
$ __get_startable_units --system | wc -l
224
the number of the suggestions are quite different, as __get_startable_units --system does
not filter already started units. With this fix,
$ systemctl start <tab>
Display all 135 possibilities? (y or n)
$ __get_startable_units --system | wc -l
123
$ __get_template_names --system | wc -l
12
the number of the suggestions matches one the function returns.
For consistency with the other internal functions, it should use the first argument
instead of the global variable $mode.
[zj: add commit message to make it sound like we know what we're doing]
Diffstat (limited to 'shell-completion')
-rw-r--r-- | shell-completion/bash/systemctl.in | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/shell-completion/bash/systemctl.in b/shell-completion/bash/systemctl.in index 0398d09d18..bde28efc3e 100644 --- a/shell-completion/bash/systemctl.in +++ b/shell-completion/bash/systemctl.in @@ -68,7 +68,7 @@ __filter_units_by_properties () { done for ((i=0; i < ${#units[*]}; i++)); do for ((j=0; j < ${#conditions[*]}; j++)); do - if [[ "${props[ i * ${#conditions[*]} + j]}" != "${conditions[j]}" ]]; then + if [[ "${props[i * ${#conditions[*]} + j]}" != "${conditions[j]}" ]]; then break fi done @@ -87,19 +87,19 @@ __get_active_units () { __systemctl $1 list-units \ | { while read -r a b; do echo " $a"; done; }; } __get_startable_units () { # find startable inactive units - __filter_units_by_properties $mode ActiveState,CanStart inactive,yes $( - { __systemctl $mode list-unit-files --state enabled,enabled-runtime,linked,linked-runtime,static,indirect,disabled,generated,transient | \ + __filter_units_by_properties $1 ActiveState,CanStart inactive,yes $( + { __systemctl $1 list-unit-files --state enabled,enabled-runtime,linked,linked-runtime,static,indirect,disabled,generated,transient | \ { while read -r a b; do [[ $a =~ @\. ]] || echo " $a"; done; } - __systemctl $mode list-units --state inactive,failed | \ + __systemctl $1 list-units --state inactive,failed | \ { while read -r a b c; do [[ $b == "loaded" ]] && echo " $a"; done; } } | sort -u ) } __get_restartable_units () { # filter out masked and not-found - __filter_units_by_property $mode CanStart yes $( - __systemctl $mode list-unit-files --state enabled,disabled,static | \ + __filter_units_by_property $1 CanStart yes $( + __systemctl $1 list-unit-files --state enabled,disabled,static | \ { while read -r a b; do [[ $a =~ @\. ]] || echo " $a"; done; } - __systemctl $mode list-units | \ + __systemctl $1 list-units | \ { while read -r a b; do echo " $a"; done; } ) } __get_failed_units () { __systemctl $1 list-units \ |