我在 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 文件中?