diff --git a/completion/available/ssh.completion.bash b/completion/available/ssh.completion.bash index 19a52991..1ab08000 100644 --- a/completion/available/ssh.completion.bash +++ b/completion/available/ssh.completion.bash @@ -14,7 +14,7 @@ _sshcomplete() { # parse all defined hosts from .ssh/config if [ -r "$HOME/.ssh/config" ]; then - COMPREPLY=($(compgen -W "$(grep ^Host "$HOME/.ssh/config" | awk '{print $2}' )" ${OPTIONS}) ) + COMPREPLY=($(compgen -W "$(grep ^Host "$HOME/.ssh/config" | awk '{for (i=2; i<=NF; i++) print $i}' )" ${OPTIONS}) ) fi # parse all hosts found in .ssh/known_hosts @@ -26,7 +26,7 @@ _sshcomplete() { # parse hosts defined in /etc/hosts if [ -r /etc/hosts ]; then - COMPREPLY=( ${COMPREPLY[@]} $(compgen -W "$( grep -v '^[[:space:]]*$' /etc/hosts | grep -v '^#' | awk '{print $2}' )" ${OPTIONS}) ) + COMPREPLY=( ${COMPREPLY[@]} $(compgen -W "$( grep -v '^[[:space:]]*$' /etc/hosts | grep -v '^#' | awk '{for (i=2; i<=NF; i++) print $i}' )" ${OPTIONS}) ) fi return 0 diff --git a/plugins/available/ssh.plugin.bash b/plugins/available/ssh.plugin.bash index 4e17206c..f670b98c 100644 --- a/plugins/available/ssh.plugin.bash +++ b/plugins/available/ssh.plugin.bash @@ -15,5 +15,5 @@ function sshlist() { about 'list hosts defined in ssh config' group 'ssh' - awk '$1 ~ /Host$/ { print $2 }' ~/.ssh/config + awk '$1 ~ /Host$/ {for (i=2; i<=NF; i++) print $i}' ~/.ssh/config }