copia scp ha l'errore "target ambiguo"


40

Provo a copiare i file da una macchina Linux (Ubuntu) su un disco rigido esterno montato su un Mac ma ho ricevuto un messaggio di errore:

scp: ambiguous target

Quello che ho fatto è, sono su un Mac, SSH alla macchina Linux dove sono i file. Quindi utilizzare il seguente comando:

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

Cosa ho fatto di sbagliato ? Qual è il buon comando da usare in questo caso?


Mi è successo quando avevo un parametro extra ( -t; un residuo di un sshcomando precedente ) nell'elenco arg; apparentemente non è supportato da scpma l'errore che ho avuto è stato ambiguous target:(
Janaka Bandara,

Risposte:


61

Se si dispone di uno spazio bianco in un percorso, è necessario sfuggire ai caratteri utilizzando doppie barre rovesciate \\e racchiudendo l'intero percorso tra virgolette:

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

3
si tutto qui! Prima ho provato con il doppio \\ ma non ha funzionato e poi ho provato ad aggiungere "" al mio percorso con \\. Questo fa il lavoro. Grazie.
bob

1
Avvolgere il percorso remoto tra virgolette è stato fondamentale per me
sam452,

2
Le virgolette singole e le singole barre rovesciate funzionano altrettanto bene.
Andrew Lorien,

1
Le barre rovesciate triple senza virgolette funzionano anche.
pizzapants184

2
Anche le doppie virgolette in singoli qout senza spazi di escape funzionano ( scp myfile.txt user@192.168.1.100:'"/file path with spaces/myfile.txt"'). In effetti è necessario sfuggire al nome file due volte: prima volta dalla shell locale e seconda volta da quella remota.
mik

0

È necessario inserire le virgolette in modo che gli spazi non vengano interpretati erroneamente. Invece di farlo scp file Server:/folder\ location/dovresti farloscp file "Server:/folder\ location/"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.