[Bash-completion-devel] [PATCH] ssh: Don't complete hosts found after Hostname keyword

Uwe Kleine-König uwe+debian at kleine-koenig.org
Fri Mar 6 13:24:49 UTC 2015


Hello,

On 12/22/2014 11:04 AM, Uwe Kleine-König wrote:
> From: Uwe Kleine-König <uwe at kleine-koenig.org>
> 
> If there are set some configurations for a host it's activated when a
> match on "Host" occurs, but not on "Hostname". If for example the
> configuration contains
> 
> 	Host machine.sd
> 	Hostname machine.some.domain
> 	User sduser
> 
> then the specified user is only used when running
> 
> 	$ ssh machine.sd
> 
> but not when running
> 
> 	$ ssh machine.some.domain
> 
> . So while machine.some.domain maybe is a valid hostname to connect to,
> the user's indention on
> 
> 	$ ssh machin<tab>
> 
> is probably using the configured user and so completing
> "machine.some.domain" doesn't make sense.
> 
> Just in case this is wrong and someone still wants both names, it's
> still possible to add a line
> 
> 	Host machine.some.domain
> 
> to the configuration to get the previous behaviour.
> 
> Fixes: http://bugs.debian.org/689585
> ---
>  bash_completion | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/bash_completion b/bash_completion
> index 8c9fc81..92b950b 100644
> --- a/bash_completion
> +++ b/bash_completion
> @@ -1565,7 +1565,8 @@ _known_hosts_real()
>  
>      # append any available aliases from config files
>      if [[ ${#config[@]} -gt 0 && -n "$aliases" ]]; then
> -        local hosts=$( sed -ne 's/^['"$'\t '"']*[Hh][Oo][Ss][Tt]\([Nn][Aa][Mm][Ee]\)\{0,1\}['"$'\t '"']\{1,\}\([^#*?%]*\)\(#.*\)\{0,1\}$/\2/p' "${config[@]}" )
> +        local hosts=$( sed -ne 's/^['"$'\t '"']*[Hh][Oo][Ss][Tt]['"$'\t '"']\{1,\}\([^#*?%]*\)\(#.*\)\{0,1\}$/\1/p' "${config[@]}" )
> +
>          COMPREPLY+=( $( compgen -P "$prefix$user" \
>              -S "$suffix" -W "$hosts" -- "$cur" ) )
>      fi
> 
gentle ping.

I assume getting no feedback doesn't necessarily means that my patch is
bad (or a bad idea). Anyhow, it fixes an annoyance for me, so getting it
in would be great.

Thanks
Uwe




More information about the Bash-completion-devel mailing list