我遇到了Cygwin中的shell脚本问题。导致问题的具体命令是:
sed -e "s/6.0.[0123456789]\{1,\}/6.0.${REV}/g" "path/to/file/config.xml" > "path/to/file/config.xml.tmp"
问题是文件最后是用奇怪的字符创建的,所以不是命名为config.xml.tmp,而是命名为“config.xml.tmp”。从“ls”命令和Windows命令提示符,它看起来像“config.xml.tmp?”
如果我只是从shell运行sed命令,文件名称正确,并且该脚本在Linux中运行良好。
知道可能出现什么问题吗?谢谢!
答案 0 :(得分:2)
我的猜测是你的脚本文件没有UNIX行结尾。 Windows行结尾的\r
字符是添加到文件名末尾的字符。您可以查看od
或hexdump
,看看是否存在问题。