2011-08-07 2 views

답변

4

수 없습니다. 하지만 c:\mingw\bin\sh -c 'set'과 같은 자신 만의 쉘을 시작할 수 있습니다. 그것은 Mingw가 당신 기계에 있어야 할 것입니다.

하면 될 것이라고 Cygwin에서 사용 : 명령 줄 길이에 제한이

shell_exec("C:\cygwin\bin\bash.exe --login -c '/cygdrive/c/cygwin/bin/convert.exe --version'"); 

, 그러므로 나는 그냥 한 줄보다 더 많은 경우이 스크립트가 자체를 추천하지 않을 것입니다. 쉘 스크립트 인터프리터의 이름 바로 뒤에 오는 옵션은 인터프리터 용입니다. 인터프리터가 실행하는 스크립트에 인수를 전달하려면 따옴표 안에 있어야합니다 (예 : 변환 예제의 ".exe"바로 뒤에).

또한 쉘 스크립트 인터프리터에 스크립트를 파이프 할 수 있습니다. 그렇게하면 파일에 파일을 쓸 필요가 없으며 긴 스크립트를 사용할 수 있습니다.

즉 :

$ echo "echo 'Hello world';" | sh 
Hello world 

는 PHP에서 파이프를 사용하는 방법에 대한 http://php.net/manual/en/function.proc-open.php 참조하십시오.

+0

아, 실수로 내 댓글을 삭제했습니다. 죄송합니다. 나는 당신의 질문에 대답했다고 생각합니다. –

+0

아니, 내 질문에 대답했기 때문에 했어 :) 고마워! –

관련 문제