scp está ciente do caminho da máquina de destino?

scp está ciente do caminho da máquina de destino?

Recentemente mudei do OSX para o Linux para meu uso pessoal. Eu tenho um servidor de mídia doméstico rodando Ubuntu sem cabeça e agora um laptop rodando Mint. Meu hábito é mover coisas para o servidor com arquivos scp. No passado, no OSX, quando eu digitava para copiar o destino eu digitava meticulosamente cada caractere do caminho, porque se por hábito eu tentasse completar a tabulação a máquina ficaria toda irritada e eu teria que começar tudo de novo. No entanto, acabei de configurar as chaves ssh do meu novo computador e estava transferindo scpum arquivo do laptop para o servidor, quando acidentalmente apertei a guia e, para minha surpresa, ele completou o caminho corretamente! Este é um comportamento normal? Por que não funcionou no term2 no OSX? Observe que eu tinha uma conexão aberta com o servidor em outra janela do terminal.

Responder1

Esta é a conclusão do comando do seu shell em ação: ele “sabe” que quando a linha de comando atual começa com scp, em certos contextos ele precisa se conectar ao sistema de destino (se puder) para completar os caminhos lá. Isso pode ser feito de forma transparente porque você carregou sua chave.

Você verá isso normalmente implementado em /usr/share/bash-completion/completions/scp(se estiver usando Bash) ou /usr/share/zsh/functions/Completion/Unix/_ssh(para Zsh).

informação relacionada