cópia scp tem erro "alvo ambíguo"


40

Eu tento copiar arquivos de uma máquina linux (ubuntu) para um disco rígido externo montado em um mac, mas recebi uma mensagem de erro:

scp: ambiguous target

O que eu fiz é que estou em um mac, ssh na máquina linux onde estão os arquivos. Em seguida, use o seguinte comando:

scp fileToCopy myMacUser@myMacMachine:/Volumes/MyExternalDrive/targetDirectory

O que eu fiz errado ? Qual é o bom comando para usar neste caso?


Aconteceu comigo quando eu tinha um parâmetro extra ( -t; um remanescente de um sshcomando anterior ) na lista arg; aparentemente não é suportado pela scpmas o erro que recebi foi ambiguous target:(
Janaka Bandara

Respostas:


61

Se você tiver espaço em branco em um caminho, precisará escapar dos caracteres usando barras invertidas duplas \\e colocando o caminho inteiro entre aspas:

scp myfile.txt user@192.168.1.100:"/file\\ path\\ with\\ spaces/myfile.txt"

3
sim é isso ! Eu tentei primeiro com o dobro \\, mas não funcionou e, em seguida, tentei adicionar "" o caminho com \\. Isso faz o trabalho. Obrigado.
bob

1
Envolvendo o caminho remoto entre aspas foi fundamental para mim
sam452

2
Aspas simples e as barras invertidas simples também funcionam.
andrew lorien

1
As barras invertidas triplas sem aspas também funcionam.
precisa saber é o seguinte

2
Aspas duplas em qoutes simples sem espaços vazios também funcionam ( scp myfile.txt user@192.168.1.100:'"/file path with spaces/myfile.txt"'). Na verdade, você deve escapar do nome do arquivo duas vezes: primeira vez no shell local e segunda no remoto.
mik 19/07

0

Você precisa colocar aspas para que os espaços não sejam mal interpretados. Em vez de fazer, scp file Server:/folder\ location/você deve fazerscp file "Server:/folder\ location/"

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.