summaryrefslogtreecommitdiff
path: root/rtadm.bash_completion
diff options
context:
space:
mode:
authorTzafrir Cohen <tzafrir.cohen@xorcom.com>2009-08-12 15:36:08 +0000
committerTzafrir Cohen <tzafrir.cohen@xorcom.com>2009-08-12 15:36:08 +0000
commitb7ec9fa5f38fa40cc618f523c428f5172f3fb40c (patch)
tree2ac1ea1fa2fbc108ba228845872279e895ff8dc4 /rtadm.bash_completion
parent6c2c899d600b4264a6d2876b854672015438dbda (diff)
rapid-tunneling: bash completion for rtadm
git-svn-id: svn+ssh://xorcom/home/svn/debs/components/rapid-tunneling@7314 283159da-0705-0410-b60c-f2062b4bb6ad
Diffstat (limited to 'rtadm.bash_completion')
-rw-r--r--rtadm.bash_completion53
1 files changed, 53 insertions, 0 deletions
diff --git a/rtadm.bash_completion b/rtadm.bash_completion
new file mode 100644
index 0000000..15e3c70
--- /dev/null
+++ b/rtadm.bash_completion
@@ -0,0 +1,53 @@
+# Bash completion for rtadm
+
+_rtadm_ra_hosts_disabled() {
+ awk '/^#DISABLED#/ {print $5}' .ssh/authorized_keys | cut -d- -f3
+}
+
+_rtadm_ra_hosts_enabled() {
+ awk '/^[^#].* ra-/ {print $5}' .ssh/authorized_keys | cut -d- -f3
+}
+
+_rtadm_ra_hosts() {
+ awk '/ ra-/ {print $5}' .ssh/authorized_keys | cut -d- -f3
+}
+
+_rtadm() {
+ local cur commands command hosts
+
+ COMPREPLY=()
+ cur=`_get_cword`
+
+ commands='create show enable disable disconnect delete'
+
+ if [[ $COMP_CWORD -eq 1 ]] ; then
+ COMPREPLY=( $( compgen -W "$commands" -- $cur ) )
+ return 0
+ fi
+
+
+ command=${COMP_WORDS[1]}
+ case "$command" in
+ create)
+ # Fixme: some completion here.
+ : #create [-e] port newname
+ ;;
+ show) : # No parameters here
+ ;;
+ enable)
+ hosts=`_rtadm_ra_hosts_disabled`
+ COMPREPLY=( $( compgen -W "$hosts" -- $cur ) )
+ ;;
+ disable|disconnect)
+ hosts=`_rtadm_ra_hosts_enabled`
+ COMPREPLY=( $( compgen -W "$hosts" -- $cur ) )
+ ;;
+ delete)
+ hosts=`_rtadm_ra_hosts`
+ COMPREPLY=( $( compgen -W "$hosts" -- $cur ) )
+ ;;
+ esac
+ return 0
+}
+
+complete -F _rtadm rtadm