bash:檔案名稱中帶有撇號的mv檔

bash:檔案名稱中帶有撇號的mv檔

我正在嘗試使用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

這是為什麼?為什麼\''錯誤訊息中的檔名多了一個?問題的解決方法是什麼?

在此先感謝您的幫忙!

相關內容