我有一个别人创建的Perl程序,我正在使用CruiseControl。该程序使用Cygwin调用Unix命令。但是,每次Perl程序调用具有类似DOS的类似Unix的命令时,我都会得到众所周知的错误:
cygwin warning:
MS-DOS style path detected: E:\regression
Preferred POSIX equivalent is: /cygdrive/e/regression
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
我已将用户变量和系统变量CYGWIN
都设置为nodosfilewarning
。当我从命令行运行程序时,这会删除错误,但当从批处理文件中调用自动进程时,CruiseControl中仍会出现错误。我已从桌面和命令行调用批处理文件并以管理员身份运行。什么都没有改变。
其他笔记
提前谢谢
答案 0 :(得分:0)
我这样做的方式就像这样
printf 'export CYGWIN=nodosfilewarning' >> ~/.bash_profile
答案 1 :(得分:0)
如果CruiseControl通过ssh连接到服务器,请在安装过程中提示输入sshd
环境变量时重新安装nodosfilewarning
并明确包含CYGWIN
。
答案 2 :(得分:0)
使用已修改的环境重新安装将有效,但如果您不想或无法重新安装,则可以选择更改注册表而不是重新安装该服务。
请参阅:CYGWIN windows cygrunsrv sshd server and MS-DOS style path detected