2016-06-15 2 views
0

저는 bash 명령을 실행하는 데 사용하는 PHP 스크립트가 있습니다. 이 명령이 실행되면 배시 명령은 시작에서 인수를 사용하지 않는PHP에서 입력을받는 bash 명령을 실행하십시오.

, 즉

ssh [email protected] 

그러나, 나중에 사용자로부터 입력을 요구한다.

그래서 어떻게 PHP로 이것을 할 수 있습니까?

<?php 
    $handle = popen("cat - > a.txt", "w"); 
    fwrite($handle, "hello world\n"); 
    // ... 
    pclose($handle); 
?> 

hello world를 포함와 a.txt을 생성합니다 :

$handle = popen("ssh [email protected]", "w"); 
fwrite($handle, "This is send as stdin\n"); 
// ... 
pclose($handle); 

예 :

답변

2

당신은 파일 핸들을 반환 popen를 사용할 수 있습니다.

+0

ssh root @ ip이 명령을 실행하면 제거 서버의 암호를 묻습니다. 왜 그 파일 핸들이 필요합니까? 미안해, 너의 대답을 이해하지 못한다면. @andlrc – Ethical

+0

@Ethical 그래서 답을 보낼 수 있습니다. 'popen'은 프로세스 오픈을 의미하고 프로세스의 표준 입력을'$ handle'으로 리턴합니다. – andlrc

+0

응답 해 주셔서 감사합니다. 그러나 내가 작업하고있는 명령은 2-3 명의 사용자 입력이 필요합니다. 왜냐하면 popen이 작동하지 않기 때문에, 다른 대안이나 제안은 없습니까? @andlrc – Ethical

관련 문제