Я пытаюсь использовать mv
для переименования файлов. Некоторые имена файлов, которые нужно переименовать, содержат апострофы (или одинарные кавычки). И имена файлов должны передаваться mv
с переменными. Но я не могу заставить это работать.
Когда я напрямую даю имена файлов mv
, это работает, вот так:
mv "Artificial intelligence/Markoff_Rosenberg__China's_intelligent_weaponry_gets_smarter.pdf" "Artificial intelligence/Markoff_Rosenberg__Chinas_intelligent_weaponry_gets_smarter_(r1205).pdf"
Но когда я использую переменные, это не работает:
orig="Artificial intelligence/Markoff_Rosenberg__China's_intelligent_weaponry_gets_smarter.pdf"
new="Artificial intelligence/Markoff_Rosenberg__Chinas_intelligent_weaponry_gets_smarter_(r1205).pdf"
mv "$orig" "$new"
Я получаю следующее сообщение об ошибке:
mv: cannot stat 'Artificial intelligence/Markoff_Rosenberg__China'\''s_intelligent_weaponry_gets_smarter.pdf': No such file or directory
Почему так? Почему в сообщении об ошибке в имени файла лишний символ \''
? И как решить проблему?
Заранее спасибо за вашу помощь!