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> "$@"
}

관련 정보