From 00ccee1f33c90c8900e8c2efe4dca9bf5db040f9 Mon Sep 17 00:00:00 2001 From: Trae Robrock Date: Tue, 16 Jul 2013 16:57:08 -0700 Subject: [PATCH 1/2] Add knife_ssh command to make connecting to servers managed with chef easier --- plugins/knife_ssh/knife_ssh.plugin.zsh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 plugins/knife_ssh/knife_ssh.plugin.zsh diff --git a/plugins/knife_ssh/knife_ssh.plugin.zsh b/plugins/knife_ssh/knife_ssh.plugin.zsh new file mode 100644 index 00000000..ea3361c4 --- /dev/null +++ b/plugins/knife_ssh/knife_ssh.plugin.zsh @@ -0,0 +1,18 @@ +function knife_ssh() { + grep -q $1 ~/.knife_comp~ || 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~..." >/dev/stderr + knife node list > ~/.knife_comp~ + fi + compadd `cat ~/.knife_comp~` + else + echo "Could not find knife" > /dev/stderr; + fi +} + +compdef _knife_ssh knife_ssh From 9a9e6e929964cbb25c5ce656a995e31ab9636762 Mon Sep 17 00:00:00 2001 From: Trae Robrock Date: Tue, 16 Jul 2013 17:01:58 -0700 Subject: [PATCH 2/2] No cat, and hide errors for missing cache file --- plugins/knife_ssh/knife_ssh.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/knife_ssh/knife_ssh.plugin.zsh b/plugins/knife_ssh/knife_ssh.plugin.zsh index ea3361c4..7fdd42a1 100644 --- a/plugins/knife_ssh/knife_ssh.plugin.zsh +++ b/plugins/knife_ssh/knife_ssh.plugin.zsh @@ -1,5 +1,5 @@ function knife_ssh() { - grep -q $1 ~/.knife_comp~ || rm -f ~/.knife_comp~; + grep -q $1 ~/.knife_comp~ 2> /dev/null || rm -f ~/.knife_comp~; ssh $(knife node show $1 | awk '/IP:/{print $2}') } @@ -9,7 +9,7 @@ _knife_ssh() { echo "\nGenerating ~/.knife_comp~..." >/dev/stderr knife node list > ~/.knife_comp~ fi - compadd `cat ~/.knife_comp~` + compadd $(<~/.knife_comp~) else echo "Could not find knife" > /dev/stderr; fi