在 Mac 上的 .command 文件中使用带重音字符的路径

在 Mac 上的 .command 文件中使用带重音字符的路径

我在 Mac 上有一个 .command 文件,我需要在其中运行一个包含两个文件路径的命令,并且两个文件路径都包含瑞典重音字符 ( ä)。这是我需要运行的命令:

hdiutil convert -format UDZO -o ~/OneDrive/Documents/MittBästaProgram/install-mac-readonly.dmg ~/OneDrive/Documents/Mitt/BästaProgram/install-mac-readandwrite.dmg

在终端中手动输入此命令效果很好,但问题是,当ä我从 .command 文件运行它时,文件路径包含 ,这导致它无法正常工作。当我运行此 .command 文件时,我得到的输出中ä文件名中的 被替换为问号。这是我得到的输出:

line 1: 828 Segmentation fault: 11 hdiutil convert -format UDZO -o ~/OneDrive/Documents/MittB?staProgram/install-mac-readonly.dmg ~/OneDrive/Documents/Mitt/B?staProgram/install-mac-readandwrite.dmg

由于它被ä问号替换,这让我认为文件名中的重音字符存在问题。为了确定这一点,我将文件复制到桌面并尝试从那里运行它(桌面路径中没有重音字符):

hdiutil convert -format UDZO -o ~/Desktop/install-mac-readonly.dmg ~/Desktop/install-mac-readandwrite.dmg

这工作得很好,这意味着第一个问题出ä在文件路径上。

我知道 Windows 上的 .bat 文件(相当于 Windows 上的 .command 文件)也存在类似的问题,通过chcp 1252在 .bat 文件的开头添加 可以解决这个问题。所以我尝试在 Mac 上对 .command 文件做同样的事情,这样它就成了我的 .command 文件:

chcp 1252
hdiutil convert -format UDZO -o ~/OneDrive/Documents/MittBästaProgram/install-mac-readonly.dmg ~/OneDrive/Documents/Mitt/BästaProgram/install-mac-readandwrite.dmg

这也不起作用,它给了我一个错误说chcp: command not found

我也尝试使用cd这样的相对路径:

cd ~/OneDrive/Documents/MittBästaProgram
hdiutil convert -format UDZO -o install-mac-readonly.dmg install-mac-readandwrite.dmg

这给了我和以前一样的问题,那就是它找不到包含的路径ä。这是我得到的输出:

line 1: cd: /Users/donaldduck/OneDrive/Documents/MittB?staProgram: No such file or directory

所以我的问题是如何使用带有重音字符的文件路径,例如ä在 Mac 上的 .command 文件中?

相关内容