2013-07-15 1 views
0

일부 플러그인을 Linux에서 Windows으로 마이그레이션 중입니다.Windows에서 system() 함수를 사용하여 Perl에서 쉘 명령을 실행하십시오.

플러그인은 Perl을 사용하여 작성되며 쉘 명령을 실행할 system()이라는 기능이 있습니다.

하지만 지금은 Windows로 마이그레이션 중입니다. 어떤 방식 으로든 Windows에서 linux 명령을 system() 함수를 사용하여 실행할 수 있습니까?

일부 Perl Module을 사용할 수 있습니까?

답변

1

system() 명령을 실행할 수 있지만 경고가 있습니다. 좋은 설명은 Using system or exec safely on Windows에 있습니다. 이 기사에서는 Win32::ShellQuote 모듈을 사용했습니다.

+0

문제는'awk'가'system'에서 작동하지 않습니다. 쉘 명령이므로 Windows는 이해할 수 없습니다. – Sahal

+0

아참. Cygwin을 설치하고 거기에서 perl 스크립트를 실행해볼 수도 있습니다. –

+0

@YatinSaraiya 그는 Linux에서 Windows로 일부 플러그인을 마이그레이션하려고합니다. – Antarus

0

Windows 쉘에서 Perl을 사용하여 Linux 명령을 실행 하시겠습니까? 그렇다면 Cygwin (www.cygwin.com)과 같은 Linux 환경을 사용해보십시오. 그렇지 않으면 시스템 호출을 마이그레이션해야합니다.

+0

문제는 awk이 시스템에서 작동하지 않는다는 것입니다. 쉘 명령이므로 Windows는 이해할 수 없습니다. 그것은 Cygwin과 같은 윈도우 유닉스 변환기 중 하나와 함께 실행되지 않습니다. 다른 시스템에서 읽은 플러그인입니다. 그 시간은 여전히 ​​Windows입니다. 우리가 할 수있는 펄을 이용해? – Sahal

+0

코드 예제를 제공해 주시겠습니까? 나는 지금까지 그것을 가지고 있지 않은 것 같다 ...;) –

+0

'system (awk '{if ($ 9 == "t4") print $ 0;}'myfile.txt)' – Sahal