2012-10-22 3 views
2

phpshell_exec 명령이 원치 않는 줄 바꿈 (\ r \ n)을 출력에 추가하는 이유는 무엇입니까?php shell_exec가 원하지 않는 줄 바꿈을 추가합니다

test.php :

<?php 
var_dump(shell_exec('echo "test"')); 

가에 php test.php 결과를 실행은 예상대로 귀하의 예제가 작동 있도록

string(5) "test 
" 
+0

을 -n? 나중에 다른 것을 바꾸려고 계획하고 있습니까? –

+0

@DanyKhalife : 단순한 예일뿐입니다. – Horen

+0

ok 내가 물었던 이유는, 여러분이 직면하고있는 문제가'echo'의 사용으로 인한 것이고 모든 명령에 항상 해당하는 것은 아니기 때문입니다. (적어도 내가 아는 바로는 모든 명령이 -n을가집니다. 동일한 방법으로 작동하는 옵션과 일부는 개행 문자를 출력하지 않음) –

답변

2

,이 뒤에 개행 문자를 출력에서 ​​echo을 방지 할 수 있습니다. 수동에서

: 당신이 shell_exec와 에코을하고있는 이유는 세계에서

는 출력하지 후행 줄 바꿈

2

echo 명령은 줄 바꿈을 추가합니다. 당신이 그것을 제거하려면 단지 trim를 사용

var_dump(trim(shell_exec('echo "test"'))); 

이가 출력 : 당신은 당신의 echo 명령에 인수로 -n를 전달할 수 있습니다

string(5) "test" 
+4

또는 'echo -n "test"를 사용하십시오. –

+0

이전에이 작업을 해본 적이 있지만 에코 문자열이 끝나면 문제가됩니다. 줄 바꿈. – Horen

+0

@Cicada 모든 명령에 그러한'-n' 플래그가있는 것은 아니지만 여러분이 옳습니다. – rekire

관련 문제