Reindirizzare l'output standard nuovo file aggiunge strano personaggio alla fine del nome del file in Cygwin

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

  •  18-09-2019
  •  | 
  •  

Domanda

Ho problemi con uno script di shell in Cygwin. Il comando specifico che sta causando il problema è questo:

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

Il problema è che il file è stato creato con un carattere strano, alla fine, così invece di essere chiamato config.xml.tmp, è chiamato "config.xml.tmp". Dal comando "ls" e dalle finestre prompt dei comandi, sembra che "config.xml.tmp?"

Se si esegue il comando sed solo dalla shell, il file denominato in modo corretto, e lo script funziona bene in Linux.

Qualche idea di cosa potrebbe essere sbagliato? Grazie!

È stato utile?

Soluzione

La mia ipotesi è che il vostro file di script non ha fine riga di UNIX. Il carattere \r nella linea di Windows finale è quello che sta ottenendo aggiunto alla fine del nome del file. È possibile controllare con od o hexdump per vedere se questo è il problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top