salinan scp memiliki kesalahan "target ambigu"

40

Saya mencoba menyalin file dari mesin linux (ubuntu) ke hard drive eksternal yang terpasang pada mac tetapi mendapat pesan kesalahan:

scp: ambiguous target

Apa yang saya lakukan adalah, saya menggunakan mac, ssh ke mesin linux di mana file berada. Kemudian gunakan perintah berikut:

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

Apa kesalahan yang telah aku perbuat ? Apa perintah yang baik untuk digunakan dalam kasus ini?

bob
sumber
Terjadi pada saya ketika saya memiliki param tambahan ( -t; sisa dari sshperintah sebelumnya ) dalam daftar arg; ternyata itu tidak didukung oleh scptetapi kesalahan yang saya dapatkan adalah ambiguous target:(
Janaka Bandara

Jawaban:

61

Jika Anda memiliki spasi putih di jalur, Anda harus melarikan diri karakter dengan menggunakan garis miring terbalik ganda \\dan melampirkan seluruh jalur dalam tanda kutip:

scp myfile.txt [email protected]:"/file\\ path\\ with\\ spaces/myfile.txt"
Atnaize
sumber
3
ya itu dia! Saya pertama kali mencoba dengan \\ ganda tetapi tidak berhasil dan kemudian saya mencoba menambahkan "" di sekitar jalur saya dengan \\. Itu berhasil. Terima kasih.
bob
1
Membungkus jalan terpencil dalam tanda kutip adalah kunci bagi saya
sam452
2
Kutipan tunggal dan garis miring terbalik juga berfungsi dengan baik.
andrew lorien
1
Triple backslash tanpa tanda kutip juga berfungsi.
pizzapants184
2
Kutipan ganda dalam qoutes tunggal tanpa keluar dari spasi juga berfungsi ( scp myfile.txt [email protected]:'"/file path with spaces/myfile.txt"'). Sebenarnya Anda harus melarikan diri dari nama file dua kali: pertama kali dari shell lokal, dan kedua kali dari yang jauh.
mik
0

Anda perlu memberi tanda kutip sehingga spasi tidak akan disalahartikan. Alih-alih melakukan scp file Server:/folder\ location/yang harus Anda lakukanscp file "Server:/folder\ location/"

Dr_Hope
sumber