Redirecionando a saída padrão para novo arquivo adiciona o caráter estranho para final do nome do arquivo no cygwin

StackOverflow https://stackoverflow.com/questions/2001567

  •  18-09-2019
  •  | 
  •  

Pergunta

Estou tendo problemas com um shell script em Cygwin. O comando específico que está causando o problema é o seguinte:

sed -e "s/6.0.[0123456789]\{1,\}/6.0.${REV}/g" "path/to/file/config.xml" > "path/to/file/config.xml.tmp"

O problema é que o arquivo está sendo criado com um personagem estranho, no final, então ao invés de ser nomeado config.xml.tmp, é nomeado "config.xml.tmp?". A partir do comando "ls" e das janelas prompt de comando, parece que "config.xml.tmp?"

Se eu executar o comando sed apenas a partir do shell, o arquivo nomeado corretamente, eo script funciona bem em Linux.

Qualquer idéia do que pode estar errado? Obrigado!

Foi útil?

Solução

Meu palpite é que seu arquivo de script não tem fins de linha UNIX. O personagem \r no final de linha do Windows é o que está sendo adicionado ao final do seu nome de arquivo. Você pode verificar com od ou hexdump para ver se esse é o problema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top