เกิดข้อผิดพลาดกับชื่อไฟล์ที่มีวงเล็บ


10

เมื่อฉันพยายามที่จะเปลี่ยนชื่อไฟล์จากold.file(1).gzเป็นnew.file.gzมันบอกว่าข้อผิดพลาดทางไวยากรณ์ฉันใช้ Ubuntu 12.04

mv old.file(1).gz new.file.gz
bash: syntax error near unexpected token `('

8
ลองmv 'old.file(1).gz' new.file.gzดู

อูบุนตูคืออะไร ฉันไม่เคยได้ยิน Ubuntu 12.0
mojo706

คำตอบ:


21

ความคิดเห็นของเยติจะใช้ได้กับคุณ แต่ถ้าคุณต้องการที่จะรู้ว่าทำไมมันเป็นเพราะวงเล็บถูกตีความว่าเป็นตัวอักษรพิเศษและจะต้องมีการหลบหนีด้วย\หรือชื่อไฟล์ทั้งหมดที่ยกมา (ดังด้านบน) [แก้ไข: ขออภัยเฉพาะ (และ ) จะต้องมีการยกมา]

หากคุณเปิดใช้งานการเติมข้อมูลด้วยแท็บเพียงแค่พิมพ์อักขระสองสามตัวแรกของชื่อไฟล์และแท็บ Hit เช่นพิมพ์mv oldและกดปุ่มแท็บควรเปลี่ยนเป็นmv old.file\(1\).gz(เว้นแต่จะมีไฟล์อื่น ๆ ที่old*อาจอ้างอิงได้)


8
ชื่อไฟล์ทั้งหมดไม่จำเป็นต้องมีการอ้างอิง เพียง แต่()ทำ คุณสามารถทำได้mv old.fil'e(1).'gz new.file.gzถ้าคุณชอบ
Stéphane Chazelas

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