summaryrefslogtreecommitdiff
path: root/oh-my-zsh/plugins/knife_ssh/knife_ssh.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'oh-my-zsh/plugins/knife_ssh/knife_ssh.plugin.zsh')
-rw-r--r--oh-my-zsh/plugins/knife_ssh/knife_ssh.plugin.zsh18
1 files changed, 18 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/knife_ssh/knife_ssh.plugin.zsh b/oh-my-zsh/plugins/knife_ssh/knife_ssh.plugin.zsh
new file mode 100644
index 0000000..dc425a3
--- /dev/null
+++ b/oh-my-zsh/plugins/knife_ssh/knife_ssh.plugin.zsh
@@ -0,0 +1,18 @@
+function knife_ssh() {
+ grep -q $1 ~/.knife_comp~ 2> /dev/null || rm -f ~/.knife_comp~
+ ssh $(knife node show $1 | awk '/IP:/{print $2}')
+}
+
+_knife_ssh() {
+ if hash knife 2>/dev/null; then
+ if [[ ! -f ~/.knife_comp~ ]]; then
+ echo "\nGenerating ~/.knife_comp~..." >&2
+ knife node list > ~/.knife_comp~
+ fi
+ compadd $(< ~/.knife_comp~)
+ else
+ echo "Could not find knife" >&2
+ fi
+}
+
+compdef _knife_ssh knife_ssh