Skip to content

Commit

Permalink
semanage bash completion: handle semanage module
Browse files Browse the repository at this point in the history
List modules for bash completion of `semanage module`.

Signed-off-by: Topi Miettinen <toiwoton@gmail.com>
Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
  • Loading branch information
topimiettinen authored and stephensmalley committed Jun 9, 2020
1 parent 7df40af commit dd74424
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions python/semanage/semanage-bash-completion.sh
Expand Up @@ -54,6 +54,9 @@ __get_all_roles () {
__get_all_stores () {
dir -1 -F /etc/selinux/ | grep '/' | cut -d'/' -f 1
}
__get_all_modules () {
semodule -l
}
__get_import_opts () { echo '$ALL_OPTS --f --input_file' ; }
__get_export_opts () { echo '$ALL_OPTS --f --output_file' ; }
__get_boolean_opts () { echo '$ALL_OPTS --on -off -1 -0' ; }
Expand Down Expand Up @@ -88,6 +91,13 @@ _semanage () {
if [ "$prev" = "-a" -a "$command" = "permissive" ]; then
COMPREPLY=( $(compgen -W "$( __get_all_domains ) " -- "$cur") )
return 0
elif [ "$command" = "module" ]; then
if [ "$prev" = "-d" ] || [ "$prev" = "--disable" ] \
|| [ "$prev" = "-e" ] || [ "$prev" = "--enable" ] \
|| [ "$prev" = "-r" ] || [ "$prev" = "--remove" ]; then
COMPREPLY=( $(compgen -W "$( __get_all_modules ) " -- "$cur") )
return 0
fi
fi
if [ "$verb" = "" -a "$prev" = "semanage" ]; then
comps="${VERBS[*]}"
Expand Down

0 comments on commit dd74424

Please sign in to comment.