Если имя файла The_Intel_Microprocessors_8th_Edition.pdf (DearBits)
и если я использую mv
команда для переименования следующей ошибки происходит:
$ mv -f The_Intel_Microprocessors_8th_Edition.pdf (DearBits) Intel_microprocessors
bash: syntax error near unexpected token `('
Если я пытаюсь переместить свой файл The_Intel_Microprocessors_8th_Edition.pdf (DearBits)
к другому каталогу затем происходит следующая ошибка:
$ mv The_Intel_Microprocessors_8th_Edition.pdf /(DearBits/) /home/emertxe/Emertxe_books
bash: syntax error near unexpected token `('
Необходимо заключить имена файлов в кавычки, если бы они содержат пробелы или специальные символы, которые были бы иначе интерпретированы оболочкой. Это включает круглые круглые фигурные скобки ()
в Ваш случай.
одинарные кавычки Использования ''
обычно, если Вам не нужен Bash для расширения переменных внутри:
mv 'The_Intel_Microprocessors_8th_Edition.pdf (DearBits)' Intel_microprocessors
или
mv 'The_Intel_Microprocessors_8th_Edition.pdf (DearBits)' /home/emertxe/Emertxe_books/
альтернатива заключению в кавычки должна выйти из всех пробелов и специальных символов путем записи единственной обратной косой черты \
перед каждым из них:
mv The_Intel_Microprocessors_8th_Edition.pdf\ \(DearBits\) Intel_microprocessors
Это также, что Bash делает для Вас, если Вы используете Вкладку ключ для автоматического заполнения имени файла после ввода первых нескольких символов, но это является раздражающим, чтобы сделать это вручную, как всегда необходимо помнить, из каких символов необходимо выйти, и Вы не можете забыть никого.
У Вас не может быть специальных символов в эти mv
команда без обратных косых черт. Надлежащая команда была бы:
mv -f The_Intel_Microprocessors_8th_Edition.pdf\ \(DearBits\) Intel_microprocessors