我在与在Cygwin的一个外壳脚本的麻烦。这是造成问题的特定命令是这样的:

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?”

如果我刚刚从外壳,正确命名的文件运行sed命令,脚本在Linux下正常工作。

任何想法可能是错了吗?谢谢!

有帮助吗?

解决方案

我的猜测是,你的脚本文件没有UNIX行结束。在Windows行结尾的\r字符是什么被添加到该文件名末尾。你可以用odhexdump检查,看看是否这就是问题所在。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top