Eu tenho um arquivo .command no Mac no qual preciso executar um comando que contenha dois caminhos de arquivo e ambos os caminhos de arquivo contenham um caractere acentuado sueco ( ä
). Aqui está o comando que preciso executar:
hdiutil convert -format UDZO -o ~/OneDrive/Documents/MittBästaProgram/install-mac-readonly.dmg ~/OneDrive/Documents/Mitt/BästaProgram/install-mac-readandwrite.dmg
Digitar isso manualmente no terminal funciona bem, mas o problema é que o fato de o caminho do arquivo conter um ä
faz com que isso não funcione corretamente quando eu o executo a partir de um arquivo .command. Quando eu executei este arquivo .command, obtive uma saída onde o ä
nos nomes dos arquivos foi substituído por um ponto de interrogação. Esta é a saída que recebi:
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
Como ele substituiu ä
por pontos de interrogação, isso me fez supor que tinha problemas com caracteres acentuados em nomes de arquivos. Para ter certeza disso, eu copiei os arquivos para a área de trabalho e tentei executá-los a partir daí (não há caracteres acentuados no caminho para a área de trabalho):
hdiutil convert -format UDZO -o ~/Desktop/install-mac-readonly.dmg ~/Desktop/install-mac-readandwrite.dmg
Isso funcionou muito bem, o que significa que o problema no primeiro é o ä
no caminho do arquivo.
Eu sei que há problemas semelhantes no Windows com arquivos .bat (o equivalente no Windows para arquivos .command), e o problema pode ser resolvido adicionando chcp 1252
no início do arquivo .bat. Então, tentei fazer a mesma coisa com o arquivo .command no Mac, para que este se tornasse meu arquivo .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
Isso não funcionou, ocorreu um erro dizendo chcp: command not found
.
Eu também tentei usar cd
e caminhos relativos como este:
cd ~/OneDrive/Documents/MittBästaProgram
hdiutil convert -format UDZO -o install-mac-readonly.dmg install-mac-readandwrite.dmg
Isso me deu o mesmo problema de antes, que não conseguiu encontrar um caminho contendo ä
. Esta é a saída que recebi:
line 1: cd: /Users/donaldduck/OneDrive/Documents/MittB?staProgram: No such file or directory
Então, minha pergunta é: como posso usar caminhos de arquivo com caracteres acentuados como ä
em um arquivo .command no Mac?