2011-11-12 8 views
2

죄송합니다. 이것이 바보 같은 질문 인 것 같지만 방금 배쉬 스크립팅을 배우고 있습니다. 학교 프로젝트를 위해 유닉스에서 동작하는 RTX를 코딩해야한다. 터미널에서 프로세스로 실행되고 사용자 입력을 받아 화면에 인쇄합니다. 나는 bash 스크립트를 작성하여 넘치거나 실패하지 않고 많은 빠른 사용자 입력에 응답 할 수 있는지 테스트하려고합니다.SSH를 통해 로그인하는 Bash 스크립트

내 주된 문제는 RTX가 시작되면 RTX가 끝날 때까지 bash 스크립트가 멈추고 터미널에 루프를 인쇄한다는 것입니다 (RTX 프롬프트로 인쇄하지 않고).

백그라운드에서 RTX를 실행 해 보았지만 작동하지 않았습니다. bash 스크립트를 사용하여 입력을 RTX로 리디렉션하는 방법을 찾아야합니다. Google 검색에서 내가 이해하고 적용 할 수있는 예를 찾지 못했습니다. 어떤 도움을 주셔서 감사합니다.

#!/bin/bash 
# declare STRING variable 
STRING="RTX Worked =D" 
#Start the rtx in a new process, stuck on this line until rtx terminates. 
./main 
#Somehow redirect io to the rtx. 
    for i in `seq 1 100`; 
    do 
      echo $i 
    echo " \n" 
    done  
echo $STRING 

답변

1

bash에서 공동 프로세스를 실행 한 다음 파이프를 통해 보조 프로세스에 명령을 보낼 수 있습니다.

가 coproc에서 배쉬 매뉴얼

을 부속 명령을 참조 그것의 내가했고, 내가

coproc RTX ./main 

for i in 'seq 1 100`; 
do 
    echo $i >&{RTX[1]} 
done 
+0

HAH처럼 내 예제하지만 뭔가를 잃어버린 이후 오랜만. 잠시 지났지 만, 최근에 bash에 추가 된 내용입니다 :) (4 + IIRC) – sehe

+0

제 나이에 꽤 오랜 기간이 몇 달간 있었는데 그 때 내가 한 일을 잊어 버렸습니다. – akc42