views:

87

answers:

1

I'm having trouble with a shell script in Cygwin. The specific command that's causing the problem is this:

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

The problem is that the file is being created with a strange character at the end, so instead of being named config.xml.tmp, it's named "config.xml.tmp". From the "ls" command and from the windows command prompt, it looks like "config.xml.tmp?"

If I run the sed command just from the shell, the file named correctly, and the script works fine in Linux.

Any idea what could be wrong? Thanks!

+2  A: 

My guess is that your script file doesn't have UNIX line endings. The \r character in the windows line ending is what's getting added to the end of your filename. You can check with od or hexdump to see if that's the problem.

Carl Norum
Thanks! Ran dos2unix on it, and all is well :)
Rhys Causey