cygwin scp到linux box损坏的文件,而winscp修复了损坏?

我有一个bash脚本,用于将我的应用程序jar和sh文件从dev机器部署到prod机器(centos)。 它只是调用scp并复制所有必需的文件。 当我从Ubuntu的盒子里运行它时,一切都很好。 当我从安装了cygwin 6.1的Windows 7中运行它时,我在prod机器上得到以下损坏:

  • bash脚本不工作,因为他们有CR而不是CR / LF
  • jar文件不能正常工作,因为它们是损坏的zip文件

当我使用winscp的时候,这两个命令不会发生。 我错过了什么? 我想继续为所有机器使用我喜欢的bash部署脚本,并且不希望在Windows上部署winscp部署…

我不认为Cygwin scp正在破坏文件。 我想你需要在文本文件复制到Linux系统之前或之后运行dos2unix。 我不确定,但你可能需要做相同的文件进入你的jar文件之前zipining。