Bản sao scp có lỗi mục tiêu mơ hồ


40

Tôi cố gắng sao chép các tập tin từ máy linux (ubfox) sang ổ cứng ngoài gắn trên máy mac nhưng gặp thông báo lỗi:

scp: ambiguous target

Những gì tôi đã làm là, tôi đang dùng mac, ssh cho máy linux có tập tin. Sau đó sử dụng lệnh sau:

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

Tôi đã làm gì sai ? Lệnh tốt để sử dụng trong trường hợp này là gì?


Đã xảy ra với tôi khi tôi có thêm một thông số ( -t; phần còn lại từ sshlệnh trước ) trong danh sách arg; rõ ràng nó không được hỗ trợ bởi scpnhưng lỗi tôi gặp phải là ambiguous target:(
Janaka Bandara

Câu trả lời:


61

Nếu bạn có khoảng trắng trong một đường dẫn, bạn phải thoát các ký tự bằng cách sử dụng dấu gạch chéo kép \\và bao quanh toàn bộ đường dẫn trong dấu ngoặc kép:

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

3
đúng vậy đó là nó ! Lần đầu tiên tôi đã thử với double \\ nhưng không hoạt động và sau đó tôi đã thử thêm "" xung quanh đường dẫn của mình với \\. Đó là công việc. Cảm ơn.
bob

1
Bao bọc con đường từ xa trong dấu ngoặc kép là chìa khóa đối với tôi
sam52

2
Dấu ngoặc đơn và dấu gạch chéo đơn cũng hoạt động tốt.
rút lorien

1
Ba dấu gạch chéo ngược mà không có dấu ngoặc kép cũng hoạt động.
pizzapants184

2
Dấu ngoặc kép trong các qout đơn mà không thoát khoảng trắng cũng hoạt động ( scp myfile.txt user@192.168.1.100:'"/file path with spaces/myfile.txt"'). Trong thực tế, bạn phải thoát tên tệp hai lần: lần đầu tiên từ trình bao cục bộ và lần thứ hai từ trình điều khiển từ xa.
mik

0

Bạn cần đặt dấu ngoặc kép để không gian bị hiểu sai. Thay vì làm scp file Server:/folder\ location/bạn nên làmscp file "Server:/folder\ location/"

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.