scp ciente do caminho da máquina de destino?

1

Eu recentemente mudei do OSX para o Linux para uso pessoal. Eu tenho um servidor de mídia em casa executando o Ubuntu sem cabeça, e agora um laptop rodando Mint. Meu hábito é mover as coisas para o servidor com scp . No passado, no OSX, quando eu digitava para copiar o alvo, eu digitava meticulosamente cada caractere do caminho, porque, se por hábito eu tentasse separar, a máquina ficaria toda irritada e eu teria que começar tudo de novo. No entanto, eu apenas configurei as chaves ssh do meu novo computador e estava no processo de scp ing um arquivo do laptop para o servidor, quando acidentalmente apertei a tecla tab, e para minha surpresa, ele completou o caminho corretamente! Isso é um comportamento normal? Por que não funcionou no term2 no OSX? Note que eu tinha uma conexão aberta com o servidor em outra janela de terminal.

    
por icicleking 27.04.2017 / 19:09

1 resposta

3

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 determinados contextos ele precisa se conectar ao sistema de destino (se puder) para concluir caminhos. 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 você estiver usando Bash) ou /usr/share/zsh/functions/Completion/Unix/_ssh (para Zsh).

    
por 27.04.2017 / 19:11