2011-03-13 1 views
1

perl 스크립트에서 shell 명령을 실행하려면 System() 명령을 사용하고 있지만 mutiple 명령을 차례로 실행해야합니다. 우리는 어떻게 한 줄로 그렇게 할 수 있습니까?perl 스크립트에서 mutiple shell 명령 실행

I는 현재 무엇을하고 오전 :이 할 수있는 올바른 방법 인 경우 하나의 명령이 잘 작동하는지 나는 확신

$cmd = "ls -l cd /home/xyz ls -l" , 
System($cmd) 

, 누군가가 알려 수 있습니까? 그렇지 않다면 여기서 무엇이 잘못 되었습니까?

답변

5

쉘에서와 동일한 작업을 수행해야합니다. BadFileMagic에 의해 제안, 더 나은 아직

$cmd = "ls -l ; cd /home/xyz ; ls -l"; 
system($cmd); 

또는 : 다음 cd이 실패 할 경우

$cmd = "ls -l ; cd /home/xyz && ls -l"; 

이 방법, 두 번째 ls가 실행되지 않습니다 테스트 명령의 경우, 같은 모양 것이다.

+1

간단한 예제에서는이 점이 중요하지 않지만 대신 &&를 사용하면됩니다. 명령을 함께 묶을 때 더 낫습니다. 특히 다음 명령의 실행은 명령 앞에 오는 명령의 성공적인 완료에 달려 있습니다. – BadFileMagic