Como usar curingas (*) ao copiar com scp?

123

Por que não posso copiar com scp quando estou usando * caracteres no caminho?

scp SERVERNAME:/DIR/* .

Qual configuração o SCP precisa para permitir * no caminho?

UPDATE: o problema não está no lado do servidor; o pscp está tentando usar o SCPv1, e é por isso que a mensagem de erro:

    
por LanceBaynes 22.12.2011 / 14:39

3 respostas

110

Você precisa passar um escape literal para scp para evitar que a máquina remota trate * como glob (observe que ela está duplamente citada):

scp 'SERVERNAME:/DIR/\*' .
    
por 22.12.2011 / 14:46
45

Eu achei o conselho de Patrick correto, embora a resposta de Chris tenha me deixado no caminho certo. Use aspas e, em seguida, você não precisa da barra invertida antes do asterisco.

scp 'SERVERNAME:/tmp/file_num\*' .

scp: /tmp/file_num*.csv: Nenhum desses arquivos ou diretórios

scp 'SERVERNAME:/tmp/file_num*' .

judgments_for_job_171642.csv 100% 32KB 32.0KB / s 00:00
judgments_for_job_172394.csv 100% 548KB 182.6KB / s 00:03

    
por 02.03.2013 / 01:41
0

Para mim, funciona de maneira diferente no bash e no c-shell. Não pergunte por que eu uso c-shell. No bash eu não preciso '' - no c-shell eu faço. Então parece que eles lidam com os globs de maneira diferente em diferentes versões do Linux.

    
por 30.11.2018 / 18:49