Ошибка с именем файла, содержащим скобки


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

Комментарий Йети будет работать для вас, но если вы хотите знать, почему, это потому, что круглые скобки интерпретируются как специальные символы, и их необходимо экранировать или указывать \все имя файла в кавычках (как указано выше) [edit: извините, только (и ) нужно процитировать].

Если у вас включено завершение табуляции, просто введите первые несколько символов имени файла и нажмите табуляцию. То есть, набрав mv oldи нажав вкладку, должен превратиться в mv old.file\(1\).gz(если нет других потенциальных файлов, на которые old*можно ссылаться).


8
Полное имя файла не нуждается в цитировании. Только ()делать. Вы можете сделать, mv old.fil'e(1).'gz new.file.gzесли хотите.
Стефан Шазелас

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.