2012-02-21 7 views
1

화면 세션에서 minecraft 서버를 실행 중입니다. 나 또한 다른 스크립트에서 minecraft 서버로 명령을 보내려면 명명 된 파이프를 사용하고 있습니다.프로그램 입력 소스 2 개?

화면 세션에서 서버의 출력을 볼 수 있지만 입력 할 수는 없습니다. 나는 어쨌든 명명 된 파이프에서 입력을 받고 있기 때문에 이것을 예상했다. 나는 화면 세션 및 명명 된 파이프에서 명령을 입력 할 수 있도록하려는

#!/bin/bash 
rm mct 
if [ ! -p mct ]; then 
    mkfifo mct && chmod 0777 mct 
fi 

tail -f mct | java -Xincgc -Xmx2048M -jar minecraft_server.jar 

: 여기 startup.sh의

screen -S minecraft sh startup.sh 

:

는 여기에 내가 모든 것을 시작하는 실행 라인입니다. 이 일을 성취 할 수있는 방법이 있습니까? 나는 방금 bash 스크립트로 주위를 어지럽히고 있으며, 오늘날 많은 것을 배웠다. 나는이 일을하는 법만 보일 수 없다.

+0

당신이 FIFO에 메아리 생각이 있나요? –

+0

@ IgnacioVazquez-Abrams는 외부 스크립트에서 명령을 실행하기 위해 수행하는 작업이며 서버의 화면 세션 (출력을 보내는 곳)에서 명령을 실행하려고합니다. –

답변

2

한 가지 방법을 실행하는 것입니다 tail -f mct 동시에 콘솔에서 읽기와 같은 익명 파이프에 기록하는 명령 :

(tail -f mct & cat) | java -Xincgc -Xmx2048M -jar minecraft_server.jar 
+0

이것은 정확히 내가 찾고 있었던 것이었다! 감사! –

+0

@SteveR .: 환영합니다! – ruakh