What is the cause
A expansão do bash é a resposta. Seu comando
scp me@server:/path/to/*_{Hello,World,SU}.txt
expande para
scp me@server:/path/to/*_Hello.txt me@server:/path/to/*_World.txt me@server:/path/to/*_SU.txt
no seu bash
, o que significa que você emite três conexões separadas para o mesmo servidor.
how can I get rid of it?
Isso depende. Existem mais possibilidades.
-
Configure o ControlMaster para que você emita todos os comandos na mesma conexão:
crie
~/.ssh/config
Host server ControlPath ~/.ssh/%r@%h:%p ControlMaster auto ControlPersist 5m
e, em seguida, execute seu comando favorito:
scp me@server:/path/to/*_{Hello,World,SU}.txt
-
Use
sftp
com o arquivo em lote, que oferece mais flexibilidade em casos mais complexos:sftp -b <( echo get /path/to/*_{Hello,World,SU}.txt ) me@server