]>
Commit | Line | Data |
---|---|---|
2e068d55 JJ |
1 | # simple & stupid implementation of bash completion for pdnsutil |
2 | # | |
3 | # (C) 2016 Joerg Jungermann | |
4 | # | |
5 | # License: GPLv2 | |
6 | # | |
7 | # put it into /etc/bash_completion.d/ | |
8 | # | |
9 | # pdnsutil <TAB> - expands to known operations given as $1 | |
e7b281e6 | 10 | # pdnsutil YOUNAMEIT <TAB> - completes to available zones, might be expensive with many (>10000) zones |
2e068d55 JJ |
11 | # |
12 | ||
13 | have pdnsutil && { | |
14 | ||
15 | _pdnsutil_helper_local_() { | |
16 | local cur prev cmd | |
17 | ||
324ead90 | 18 | local _PDNSUTIL_ALL_CMDS="activate-tsig-key activate-zone-key add-record add-zone-key backend-cmd b2b-migrate bench-db change-slave-zone-master check-zone check-all-zones clear-zone |
2e068d55 JJ |
19 | create-bind-db create-slave-zone create-zone deactivate-tsig-key deactivate-zone-key delete-rrset delete-tsig-key delete-zone disable-dnssec |
20 | edit-zone export-zone-dnskey export-zone-key generate-tsig-key generate-zone-key get-meta hash-zone-record increase-serial import-tsig-key | |
21 | import-zone-key load-zone list-algorithms list-keys list-zone list-all-zones list-tsig-keys rectify-zone rectify-all-zones remove-zone-key | |
22 | replace-rrset secure-all-zones secure-zone set-kind set-nsec3 set-presigned set-publish-cdnskey set-publish-cds set-meta show-zone | |
23 | unset-nsec3 unset-presigned unset-publish-cdnskey unset-publish-cds test-schema" | |
24 | COMPREPLY=() | |
25 | cur="${COMP_WORDS[COMP_CWORD]}" | |
26 | prev="${COMP_WORDS[COMP_CWORD-1]}" | |
27 | ||
28 | case "$prev" in | |
29 | pdnsutil ) | |
30 | COMPREPLY=( $(compgen -W "$_PDNSUTIL_ALL_CMDS" -- $cur) ) | |
31 | return 0 | |
32 | ;; | |
33 | esac | |
34 | case "$_PDNSUTIL_ALL_CMDS" in | |
35 | "$prev "* | *" $prev "* | *" $prev" ) | |
36 | prevprev="${COMP_WORDS[COMP_CWORD-2]}" | |
37 | COMPREPLY=( $(compgen -W "$($prevprev list-all-zones | head -n -1 )" -- $cur) ) | |
38 | return 0 | |
39 | ;; | |
40 | esac | |
41 | } | |
42 | ||
43 | complete -o default -F _pdnsutil_helper_local_ pdnsutil | |
44 | } |