bashはzshシェルなどの/ etc / hostsファイルを使用してsshコマンドを自動的に完了しますか?

bashはzshシェルなどの/ etc / hostsファイルを使用してsshコマンドを自動的に完了しますか?

zshは今まで素晴らしいです。
zsh-completionsを使用していますが、以下のようにbashのようなsshコマンドに対してオートコンプリートを取得することはできません。

BASHとZSH

/etc/hostsからホスト名を取得する方法SSH |zshシェルからのコマンドのオートコンプリート?

アップデート1:

https://github.com/sunlei/zsh-ssh:このSSH完了は、基本SSH完了よりも多くの機能を提供します。

答え1

Zshは、完全な完成システムを有効にするまでホスト補完を提供しません。ファイルに以下を追加するだけ.zshrcです。

autoload -Uz compinit
compinit

初期化後、Zshの完成システムはSSH設定ファイルのおよび/行からホスト名を/etc/hosts検索します。これらのファイルを見てください。/etc/ssh/ssh_known_hosts~/.ssh/known_hostsHost ...Name ...

ssh他のコマンドにエイリアスを追加した場合は、他のzshコマンドの補完機能が提供されます。他のコマンドにも同じ補完機能を提供するには、ssh次のように指示する必要があります。

alias ssh=<some other command>
compdef _ssh <some other-command>=ssh

あるいは、エイリアスの代わりに関数を使用することもできます。

ssh() {
  <some other-command> "$@"
}

関連情報