summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Howell <jimbocoder@gmail.com>2016-06-01 18:06:51 -0500
committerJunegunn Choi <junegunn.c@gmail.com>2016-06-02 21:58:01 +0900
commitb8a3ba16a256e6c83abc709828e65368163e3b9e (patch)
treec995c8b856453fd278c92d0f67e1416958855084
parentcd5e4d9402f36b023cbbd2ecf6160293d6742c0b (diff)
[bash/zsh] Take SSH completion hints from known_hosts
Signed-off-by: Junegunn Choi <junegunn.c@gmail.com>
-rw-r--r--shell/completion.bash1
-rw-r--r--shell/completion.zsh1
2 files changed, 2 insertions, 0 deletions
diff --git a/shell/completion.bash b/shell/completion.bash
index 66fac61d..a0040ce5 100644
--- a/shell/completion.bash
+++ b/shell/completion.bash
@@ -221,6 +221,7 @@ _fzf_complete_telnet() {
_fzf_complete_ssh() {
_fzf_complete '+m' "$@" < <(
cat <(cat ~/.ssh/config /etc/ssh/ssh_config 2> /dev/null | \grep -i '^host' | \grep -v '*') \
+ <(\grep -oE '^[^ ]+' ~/.ssh/known_hosts | tr ',' '\n' | awk '{ print $1 " " $1 }') \
<(\grep -v '^\s*\(#\|$\)' /etc/hosts | \grep -Fv '0.0.0.0') |
awk '{if (length($2) > 0) {print $2}}' | sort -u
)
diff --git a/shell/completion.zsh b/shell/completion.zsh
index 0094fa74..dca77cd0 100644
--- a/shell/completion.zsh
+++ b/shell/completion.zsh
@@ -110,6 +110,7 @@ _fzf_complete_telnet() {
_fzf_complete_ssh() {
_fzf_complete '+m' "$@" < <(
cat <(cat ~/.ssh/config /etc/ssh/ssh_config 2> /dev/null | \grep -i '^host' | \grep -v '*') \
+ <(\grep -oE '^[^ ]+' ~/.ssh/known_hosts | tr ',' '\n' | awk '{ print $1 " " $1 }') \
<(\grep -v '^\s*\(#\|$\)' /etc/hosts | \grep -Fv '0.0.0.0') |
awk '{if (length($2) > 0) {print $2}}' | sort -u
)