Ant - 通过 scp 将 shell 从 Windows 传送到 unix 时的代码格式问题



我使用

<scp todir="${user.id}:${user.pwd}@${host.name}:${destination}" verbose="true" port="${host.port}" trust="true" failonerror="true">
        <fileset dir="${source.dir}">
            <include name="**" />
            <exclude name=".project"/>
            <exclude name=".svn"/>
            <exclude name="temp"/>
            <exclude name="jsch_build.xml"/>
        </fileset>
    </scp>

然后我收到了错误响应

:/

bin/sh^M:错误的解释器:没有这样的文件或目录。

我知道这是由代码格式引起的。一个解决方案是设置 ff=unix,但我需要一一处理这些脚本。并且没有在 unix 机器上安装 dos2unix。

有人可以帮助我解决这个问题吗?谢谢!

有一个 ANT fixclrlf 任务,可用于在将文件复制到远程位置之前修复文件。

也可以将其用作筛选器链的一部分。

<copy todir="${staging.dir}">
  <fileset dir="${source.dir}">
    <include name="**" />
    <exclude name=".project"/>
    <exclude name=".svn"/>
    <exclude name="temp"/>
    <exclude name="jsch_build.xml"/>
  </fileset>
  <filterchain>
    <fixcrlf eol="lf" eof="remove"/>
  </filterchain>
</copy>
<scp todir="${user.id}:${user.pwd}@${host.name}:${destination}" verbose="true" port="${host.port}" trust="true" failonerror="true">
  <fileset dir="${staging.dir}"/>
</scp>

相关内容

  • 没有找到相关文章

最新更新