У меня есть файл .command на Mac, где мне нужно запустить команду, которая содержит два пути к файлам, и оба пути к файлам содержат шведский символ (ä). Вот команда, которую мне нужно выполнить:

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. Поэтому я попытался сделать то же самое с файлом .command на Mac, чтобы он стал моим файлом .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

Поэтому мой вопрос заключается в том, как я могу использовать пути к файлам с акцентированными символами, такими как ä в файле .command на Mac?

0