2013-11-15 2 views
1

필자는 자신의 진보성을 보여주고 자하는 PHP 스크립트를 가지고 있습니다.PHP 쉘 스크립트 'echo -ne'어떻게? (Shell Progressbar)

shell_exec("echo -ne '######  30%'\r"); 

그러나 아무것도가 화면에 출력됩니다 : 이 슈퍼 질문 완벽한 해답 How to add a progress bar to a shell script?에서 나는 동작을 모방하려고 노력했다.

내 생각 엔 STDOUT이 올바르지 않거나 에코를 반향시켜야하기 때문입니까?

echo shell_exec("echo -ne '######  30%'\r"); 

답변

6

PHP 셸 스크립트에서이를 사용하려면 셸 명령을 전혀 실행할 필요가 없습니다. 그냥 출력이 \r

echo "######  30%\r"; 

예제 스크립트로 끝나는 에코가

<?php 
for ($i = 0; $i < 100; $i += 5) { 
    $bar = str_repeat("#", $i/10); 
    echo "$i% $bar \r"; 
    sleep(1); 
} 
echo "\n"; 
?> 
+0

변경을'$ 내가 <= 100' 또는 다른 스크립트가 95 %에 종료됩니다 내가 – Sal00m

+0

은 정말 중요하지 않습니다 생각 그것은 단지 예일뿐입니다. –

+0

시스템 에코에서'-ne'을 설정할 수 없기 때문에 PHP 에코가 작동하는 것은 흥미 롭습니다. 나는 시도해야했다. =) – DanFromGermany

1

는 PHP 명령 줄 인터페이스에서 진행 표시 줄에 대한 좋은 예입니다 사용해야 할 것입니다 직접 결과를보고 같은 STDOUT 스트림에 실행하려면 시스템 호출없이 PHP로 수행됩니다.