#!/usr/bin/perl
$sim = "multiq";
`make SCHED=$sim`;
`script > scripter`;
`echo hi`;
print pack("c", 04);
~
이 스크립트는 스크립트가 호출 될 때 중단됩니다. perl 스크립트를 계속 실행하는 방법을 모릅니다.Perl에서 script() linux 명령을 실행하고 끝내려면 어떻게해야합니까?
#!/usr/bin/perl
$sim = "multiq";
`make SCHED=$sim`;
`script > scripter`;
`echo hi`;
print pack("c", 04);
~
이 스크립트는 스크립트가 호출 될 때 중단됩니다. perl 스크립트를 계속 실행하는 방법을 모릅니다.Perl에서 script() linux 명령을 실행하고 끝내려면 어떻게해야합니까?
백틱 (‘‘
)은 명령을 실행하고 출력을 반환합니다. 당신이 출력을 무시하는 거라면 당신은 파이어 앤 포겟 프로그램을 (즉,이 완료되면 대한 걱정없이 배경에서 시작)하려면,
system("make SCHED=$sim") == 0 or die "$0: make exited " . ($? >> 8)
같이 system
를 사용 사용할 수 있습니다.
system("script >scripter &");
모두 상호 작용하려면 하나의 하위 프로세스에서 모두 실행해야합니다. 이를 처리하는 다양한 방법은 perlipc을 참조하십시오.
당신은 대화 형 세션을
역 따옴표를 ('')를 제어 명령을 실행하고 저장하고 그것을 더 조작 할 수 output.So을 반환 Expect보고 할 수 있습니다. 출력을 무시하려면 system()을 사용하십시오. 또한 백그라운드에서 프로세스를 실행하려면 프로세스 접두어에 &을 사용하십시오. 예를 들어 스크립트를 사용하여 Gimp를 시작하기를 원한다면 간단히 말하십시오.
system("gimp &");
이 코드를 쉘 스크립트로 이식하면 어떻게됩니까? – mob
'인쇄 팩 ("c", 04)'? 그것 때문에 당신은'^ D'를 스크립트에 보내려고합니까? – mob