From f3826fa21f090bb4e50491255f29d91a999a1828 Mon Sep 17 00:00:00 2001 From: akdevservices Date: Fri, 27 Oct 2023 23:05:14 +0300 Subject: [PATCH 1/2] Fix #3488 --- shell/completion.bash | 2 +- shell/completion.zsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/shell/completion.bash b/shell/completion.bash index 37a37948251..c42909b51b3 100644 --- a/shell/completion.bash +++ b/shell/completion.bash @@ -424,7 +424,7 @@ if ! declare -F __fzf_list_hosts > /dev/null; then command cat <(command tail -n +1 ~/.ssh/config ~/.ssh/config.d/* /etc/ssh/ssh_config 2> /dev/null | command grep -i '^\s*host\(name\)\? ' | command awk '{for (i = 2; i <= NF; i++) print $1 " " $i}' | command grep -v '[*?%]') \ <(command grep -oE '^[[a-z0-9.,:-]+' ~/.ssh/known_hosts 2> /dev/null | command tr ',' '\n' | command tr -d '[' | command awk '{ print $1 " " $1 }') \ <(command grep -v '^\s*\(#\|$\)' /etc/hosts 2> /dev/null | command grep -Fv '0.0.0.0') | - command awk '{if (length($2) > 0) {print $2}}' | command sort -u + command awk '{for (i = 2; i <= NF; i++) print $i}' | command sort -u } fi diff --git a/shell/completion.zsh b/shell/completion.zsh index c01bbb825f8..1189c261a2f 100644 --- a/shell/completion.zsh +++ b/shell/completion.zsh @@ -227,7 +227,7 @@ if ! declare -f __fzf_list_hosts > /dev/null; then command cat <(command tail -n +1 ~/.ssh/config ~/.ssh/config.d/* /etc/ssh/ssh_config 2> /dev/null | command grep -i '^\s*host\(name\)\? ' | awk '{for (i = 2; i <= NF; i++) print $1 " " $i}' | command grep -v '[*?%]') \ <(command grep -oE '^[[a-z0-9.,:-]+' ~/.ssh/known_hosts 2> /dev/null | tr ',' '\n' | tr -d '[' | awk '{ print $1 " " $1 }') \ <(command grep -v '^\s*\(#\|$\)' /etc/hosts 2> /dev/null | command grep -Fv '0.0.0.0') | - awk '{if (length($2) > 0) {print $2}}' | sort -u + awk '{for (i = 2; i <= NF; i++) print $i}' | sort -u } fi From 9a32a3e114cf3864a201809d0873cd2951cfd438 Mon Sep 17 00:00:00 2001 From: akdevservices Date: Sat, 28 Oct 2023 20:04:57 +0300 Subject: [PATCH 2/2] Handle inline comments in hosts file --- shell/completion.bash | 2 +- shell/completion.zsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/shell/completion.bash b/shell/completion.bash index c42909b51b3..db84e06a1ee 100644 --- a/shell/completion.bash +++ b/shell/completion.bash @@ -423,7 +423,7 @@ if ! declare -F __fzf_list_hosts > /dev/null; then __fzf_list_hosts() { command cat <(command tail -n +1 ~/.ssh/config ~/.ssh/config.d/* /etc/ssh/ssh_config 2> /dev/null | command grep -i '^\s*host\(name\)\? ' | command awk '{for (i = 2; i <= NF; i++) print $1 " " $i}' | command grep -v '[*?%]') \ <(command grep -oE '^[[a-z0-9.,:-]+' ~/.ssh/known_hosts 2> /dev/null | command tr ',' '\n' | command tr -d '[' | command awk '{ print $1 " " $1 }') \ - <(command grep -v '^\s*\(#\|$\)' /etc/hosts 2> /dev/null | command grep -Fv '0.0.0.0') | + <(command grep -v '^\s*\(#\|$\)' /etc/hosts 2> /dev/null | command grep -Fv '0.0.0.0' | command sed 's/#.*//') | command awk '{for (i = 2; i <= NF; i++) print $i}' | command sort -u } fi diff --git a/shell/completion.zsh b/shell/completion.zsh index 1189c261a2f..c4ba2c758b3 100644 --- a/shell/completion.zsh +++ b/shell/completion.zsh @@ -226,7 +226,7 @@ if ! declare -f __fzf_list_hosts > /dev/null; then setopt localoptions nonomatch command cat <(command tail -n +1 ~/.ssh/config ~/.ssh/config.d/* /etc/ssh/ssh_config 2> /dev/null | command grep -i '^\s*host\(name\)\? ' | awk '{for (i = 2; i <= NF; i++) print $1 " " $i}' | command grep -v '[*?%]') \ <(command grep -oE '^[[a-z0-9.,:-]+' ~/.ssh/known_hosts 2> /dev/null | tr ',' '\n' | tr -d '[' | awk '{ print $1 " " $1 }') \ - <(command grep -v '^\s*\(#\|$\)' /etc/hosts 2> /dev/null | command grep -Fv '0.0.0.0') | + <(command grep -v '^\s*\(#\|$\)' /etc/hosts 2> /dev/null | command grep -Fv '0.0.0.0' | command sed 's/#.*//') | awk '{for (i = 2; i <= NF; i++) print $i}' | sort -u } fi