Windows 这是什么原因;Can';t打开perl脚本:没有这样的文件或目录";

Windows 这是什么原因;Can';t打开perl脚本:没有这样的文件或目录";,windows,perl,cygwin,Windows,Perl,Cygwin,如果我在cygwin中运行此命令(在windows xp平台上) 我得到这个错误: Can't open perl script "/cygdrive/c/Sagar/New_ISP/isp_fw_11_24_Test_V1/Scripts/w indows_test_report_tool/testdbmerge.pl": No such file or directory. 为什么会这样?确保路径上的第一个perl是cygwin perl;如果它是本机Win32 perl(例如Active

如果我在
cygwin
中运行此命令(在windows xp平台上)

我得到这个错误:

Can't open perl script "/cygdrive/c/Sagar/New_ISP/isp_fw_11_24_Test_V1/Scripts/w
indows_test_report_tool/testdbmerge.pl": No such file or directory.

为什么会这样?

确保路径上的第一个perl是cygwin perl;如果它是本机Win32 perl(例如ActiveState或草莓),它将不理解cygwin路径

perl-V:osname
应该报告cygwin,而不是MSWin32

MSWin32 perl不理解任何以/cygdrive/开头的路径。如果你这么做了

perl c:/Sagar/New_ISPisp_fw_11_24_Test_V1/Scripts/windows_test_report_tool/testdbmerge.pl
这会奏效的。或者可以使用cygpath实用程序将cygwin路径转换为windows路径,如

perl `cygpath -w /cygdrive/c/Sagar/New_ISP/isp_fw_11_24_Test_V1/Scripts/windows_test_report_tool/testdbmerge.pl`

我首先发现问题你需要运行这个命令才能正常工作

  • 镉镍
  • sudo perl nipe.pl重新启动

  • 假设该文件确实存在-您是否拥有该文件和目录的访问权限?ls-l给了你什么?它给了-r-x------我使用chmod将它的权限更改为-rwxrwx。即使这样,它也会给出同样的错误。在
    /w
    之后的换行符是什么?删除它。它给出$perl-V:osname osname='MSWin32';但是我可以在其他目录中运行其他perl脚本,但是我不能在同一个cygwin目录中运行perl脚本。@Sagar,MSWin32
    perl
    不理解任何以
    /cygdrive/
    开头的路径。如果你做了
    perl c:/Sagar/New\u ispip\u fw\u 11\u 24\u Test\u V1/Scripts/windows\u Test\u report\u tool/testdbmerge.pl
    它会工作的。或者
    perl`cygpath-w/cygdrive/c/Sagar/New\u ISP/ISP\u fw\u 11\u 24\u Test\u V1/Scripts/windows\u Test\u report\u tool/testdbmerge.pl
    perl `cygpath -w /cygdrive/c/Sagar/New_ISP/isp_fw_11_24_Test_V1/Scripts/windows_test_report_tool/testdbmerge.pl`