Kesalahan dengan nama file yang mengandung tanda kurung

10

ketika saya mencoba mengubah nama file dari old.file(1).gzmenjadi new.file.gz, Dikatakan kesalahan sintaks, saya menggunakan ubuntu 12.04.

mv old.file(1).gz new.file.gz
bash: syntax error near unexpected token `('
mendongkrak
sumber
8
Coba mv 'old.file(1).gz' new.file.gz.
apa itu ubuntu? Saya belum pernah mendengar tentang Ubuntu 12.0
mojo706

Jawaban:

21

Komentar Yeti akan bekerja untuk Anda, tetapi jika Anda ingin tahu mengapa, itu karena tanda kurung diartikan sebagai karakter khusus, dan harus diloloskan dengan \atau seluruh nama file yang dikutip (seperti di atas) [edit: maaf, hanya (dan ) perlu dikutip].

Jika Anda memiliki penyelesaian tab diaktifkan, cukup ketik beberapa karakter pertama dari nama file dan tekan tab. Yaitu, mengetik mv olddan memukul tab, harus berubah menjadi mv old.file\(1\).gz(kecuali ada file potensial lain yang old*bisa merujuk).

Jangari
sumber
8
Seluruh nama file tidak perlu mengutip. Hanya ()do. Anda bisa melakukannya mv old.fil'e(1).'gz new.file.gzjika suka.
Stéphane Chazelas
5
mv 'old.file(1).gz' new.file.gz

harus memperbaiki masalah.

Satheesh K
sumber