Eu tenho um DE_CopyOldToNew.sh
arquivo que foi criado no Windows. O arquivo é então carregado no Linux usando WinSCP. O arquivo contém vários comandos cp que copia arquivos para uma nova pasta com um novo nome de arquivo sendo atribuído. Os comandos contêm pastas e arquivos com sinais diacríticos como Gewährleistungsbürgschaft
. Quando faço um cat DE_CopyOldToNew.sh
notei que os diacríticos são exibidos de forma "corrompida" como Gew▒hrleistungsb▒rgschaft
. Quando eu faço um, view DE_CopyOldToNew.sh
os diacríticos são exibidos como deveriam ser, como Gewährleistungsbürgschaft
. Quando executo meu script, recebo cp: cannot stat
erros e os sinais diacríticos nas pastas e arquivos são exibidos como Gew\344hrleistungsb\374rgschaft
. Eu carreguei o arquivo usando binary
também text
e também executei umdos2unix DE_CopyOldToNew.sh
. Quando copio o conteúdo do meu script no Windows e colo em um novo arquivo no Linux, consigo executar o novo script sem problemas. O que está fazendo com que a versão enviada esteja "corrompida" (por falta de uma palavra melhor)?
Início
/
user-604626
Rico Strydom's questions
Rico Strydom
Asked:
2024-03-04 21:48:43 +0800 CST
Eu tenho um DE_CopyOldToNew.txt
arquivo com vários comandos de cópia para copiar nomes de arquivos antigos para novos nomes de arquivos.
O arquivo contém linhas como:
cp /migrationfiles/Company\ Name\ GmbH/2014.138_Old\ File\ Name.pdf /appl/data/docs/202403/DE_2014.138_NewFile_1.pdf
cp /migrationfiles/Company\ Name\ GmbH/2014.139_Old\ File\ Name.pdf /appl/data/docs/202403/DE_2014.139_NewFile_1.pdf
No meu script de shell, estou iterando cada linha e executando-a.
echo "Start!"
while read -r line
do
command "$line"
done < /tmp/DE_CopyOldToNew.txt
Ao executar o script, recebo o seguinte para cada linha lida ...
: No such file or directory6: cp /migrationfiles/Company\ Name\ GmbH/2014.138_Old\ File\ Name.pdf /appl/data/docs/202403/DE_2014.138_NewFile_1.pdf
Ao executar as linhas manualmente a partir do prompt funciona sem erros...