2013-09-21 3 views
0

cygwin에서 perl 스크립트를 호출해야하지만 스크립트는 cygwin perl이 아닌 Windows perl을 사용해야합니다.cygwin에서 모든 자식 프로세스와 함께 cygwin에서 Windows에서 perl 스크립트를 시작하십시오.

# From Cygwin: 
# This is correctly running under windows perl 
cmd /c foo.pl 

# foo's heirarchy 
foo.pl 
|--------> bar_1.pl 
|--------> bar_2.pl 
|--------> foobar/foobar.pl 

foo.pl은 여러 가지 perl 스크립트를 내부적으로 호출합니다. 나는 그 모든 것들을 Windows perl 하에서 돌리고 싶다. Windows에서 foo.pl이 실행되지만 모든 자식은 cygwin perl에서 계속 실행됩니다. 그리고 불행히도, 나는 foo.pl을 수정하는 사치가 없다.

그래서 모든 어린이 펄 스크립트가 Windows perl에서 실행되도록하려면 어떻게해야합니까? 나는 이것이 a다는 것을 알고있다

답변

0

나 자신의 질문에 응답. 나는 모든 프로세스가 Windows에서 실행되도록 노력함으로써 하드 루트를 취하고있는 것으로 생각했습니다. 이 게시물 How can I modify my cygwin environment to use Strawberry Perl instead of the packaged Perl distribution?에 걸쳐 왔고 내 스크립트에서 로컬로 PATH를 변경하여 문제가 해결되었습니다. 모두 잘되었습니다 :)

+0

cygwin 설치를 이와 같이 변경하면 위험 할 수 있습니다. 다른 cygwin 도구는/usr/bin/perl에 실제 cygwin perl을 기대할 수 있으며 Strawberry Perl에서는 실패합니다. 아마도'$ ENV {PATH}'를'/ usr/bin' 전에 Strawberry bin 경로로 바꾸거나'foo '안에서 스크립트를 호출 할 때'perl' 대신'$^X'를 사용하면 더 좋을 것입니다 .pl'. –

+0

감사합니다. 나는 당신이 언급 한 것을 정확히 끝내었다. 내 대답을 편집 할게. –