#windows #perl #cygwin
#Windows #perl #cygwin
Вопрос:
Если я выполню эту команду в cygwin
(на платформе Windows xp)
perl /cygdrive/c/Sagar/New_ISP/isp_fw_11_24_Test_V1/Scripts/w
indows_test_report_tool/testdbmerge.pl
Я получаю эту ошибку:
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.
Почему это?
Комментарии:
1. Предполагая, что файл действительно существует — есть ли у вас права доступа к файлу каталогам? Что вам дает ls -l <file>?
2. он выдавал -r-x—— я изменил его разрешение с помощью chmod на -rwxrwxrwx. Даже тогда он выдает ту же ошибку.
3. Что с новой строкой после
/w
? Удалите его.
Ответ №1:
Убедитесь, что первым perl на вашем пути является cygwin perl; если это собственный Win32 perl (например, ActiveState или Strawberry), он не поймет пути 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`
Комментарии:
1. Он выдает $ perl -V:osname osname=’MSWin32′;
2. Но я смог запустить другие perl-скрипты в других каталогах, но я не могу запускать perl-скрипты в этом каталоге, в том же cygwin.
3. @Sagar, MSWin32
perl
не понимает ни одного пути, начинающегося с/cygdrive/
. Если бы вы это сделалиperl c:/Sagar/New_ISPisp_fw_11_24_Test_V1/Scripts/windows_test_report_tool/testdbmerge.pl
, это сработало бы.4. Или
perl `cygpath -w /cygdrive/c/Sagar/New_ISP/isp_fw_11_24_Test_V1/Scripts/windows_test_report_tool/testdbmerge.pl`
Ответ №2:
Я выясняю проблему, сначала вам нужно запустить эти команды, чтобы in заработал.
- cd nipe
- sudo perl nipe.pl перезапуск