Lỗi với tên tệp chứa dấu ngoặc đơn


10

Khi tôi cố gắng thay đổi tên tệp từ old.file(1).gzthành new.file.gz, Nó báo lỗi cú pháp, tôi đang sử dụng Ubuntu 12.04.

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

8
Hãy thử mv 'old.file(1).gz' new.file.gz.

Ubuntu là gì vậy? Tôi chưa bao giờ nghe nói về Ubuntu 12.0
mojo706

Câu trả lời:


21

Nhận xét của Yeti sẽ phù hợp với bạn, nhưng nếu bạn muốn biết tại sao, đó là vì dấu ngoặc đơn được hiểu là các ký tự đặc biệt và phải được thoát bằng \hoặc toàn bộ tên tệp được trích dẫn (như trên) [sửa: xin lỗi, chỉ (và ) cần được trích dẫn].

Nếu bạn đã bật hoàn thành tab, chỉ cần nhập một vài ký tự đầu tiên của tên tệp và nhấn tab. Tức là, gõ mv oldvà nhấn tab, sẽ biến thành mv old.file\(1\).gz(trừ khi có các tệp tiềm năng khác old*có thể tham chiếu).


8
Toàn bộ tên tệp không cần trích dẫn. Chỉ có ()làm. Bạn có thể làm mv old.fil'e(1).'gz new.file.gznếu bạn thích.
Stéphane Chazelas

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.