สำเนา SCP มีข้อผิดพลาด“ เป้าหมายที่ไม่ชัดเจน”


35

ฉันพยายามคัดลอกไฟล์จากเครื่อง linux (ubuntu) ไปยังฮาร์ดไดรฟ์ภายนอกที่ติดตั้งบน mac แต่ได้รับข้อความแสดงข้อผิดพลาด:

scp: ambiguous target

สิ่งที่ฉันทำคือฉันใช้ mac, ssh ไปยังเครื่อง linux ที่ไฟล์อยู่ จากนั้นใช้คำสั่งต่อไปนี้:

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

ฉันทำผิดอะไร ? คำสั่งที่ดีที่จะใช้ในกรณีนี้คืออะไร?


เกิดขึ้นกับฉันเมื่อฉันมีพารามิเตอร์พิเศษ ( -t; ส่วนที่เหลือจากsshคำสั่งก่อนหน้า) ในรายการหาเรื่อง; เห็นได้ชัดว่ามันไม่ได้รับการสนับสนุนscpแต่ข้อผิดพลาดที่ฉันได้รับคือambiguous target:(
Janaka Bandara

คำตอบ:


55

หากคุณมีพื้นที่สีขาวในพา ธ คุณจะต้องหลีกเลี่ยงอักขระโดยใช้เครื่องหมายแบ็กสแลชสองครั้ง\\และใส่เครื่องหมายพา ธ ทั้งหมดในเครื่องหมายคำพูด:

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

3
ใช่นั่นแหละ! ฉันลอง double \\ ครั้งแรก แต่ไม่ได้ผลจากนั้นฉันลองเพิ่ม "" รอบเส้นทางด้วย \\ มันทำงานได้ดี ขอบคุณ
บ๊อบ

ฉันต้องค้นหามันทุกครั้ง! ข้อความแสดงข้อผิดพลาดควรบอกว่าคุณต้องหนีช่องว่าง 3 ครั้ง ...
codenamejames

1
เครื่องหมายคำพูดเดี่ยวและแบ็กสแลชเดี่ยวใช้ได้เช่นกัน
andrew lorien

1
แบ็กสแลชสามตัวที่ไม่มีเครื่องหมายคำพูดก็ใช้ได้เช่นกัน
pizzapants184

1
อัญประกาศคู่ใน qoutes เดียวโดยไม่ต้องเว้นวรรคยังใช้งานได้ ( scp myfile.txt user@192.168.1.100:'"/file path with spaces/myfile.txt"') ในความเป็นจริงคุณต้องหลีกเลี่ยงชื่อไฟล์สองครั้ง: ครั้งแรกจากเชลล์ในเครื่องและครั้งที่สองจากรีโมต
mik

0

คุณต้องใส่เครื่องหมายคำพูดเพื่อไม่ให้มีการตีความช่องว่างผิด แทนที่จะทำเช่นนั้นscp file Server:/folder\ location/คุณควรทำscp file "Server:/folder\ location/"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.