2016-06-14 8 views
1

내가 사용하고있는 중이 야하는, 새로운 리눅스 터미널에서 C++ 실행 파일을 실행하고자하는 입력 스트림으로 파일을 전송하려면 :새로운 단말기에서 CPP 실행 파일을 실행 한 다음

xterm -e executable options &disown 

및 이 작품. 그러나, 나는 또한 명령 줄을 통해 텍스트 파일을 구문 분석해야합니다. 일반적으로 파일을 구문 분석 될 것이다 :

./executable options < inputFile.txt 

다음 파일이이 기능을 사용하여 C++ 코드에 의해 처리됩니다

void parse_lines(istream &in){ 
    verify_version_number(in); 
    read_variables(in); 
    ... 
} 

을 그러나 다음 줄은 작동하지 않습니다

xterm -e executable options < inputFile.txt &disown 

새 터미널에서 실행 파일을 실행 한 다음 inputFile.txt의 내용을 istream에 보내려면 어떻게해야합니까?

감사!

+0

어떤 오류가 발생합니까? 문제가 앰퍼샌드라고 생각합니다. 이것은 리눅스에서 프로세스를 배경으로하는 특수 문자입니다. –

+0

@JamesShewey 안녕하세요. 오류가 없습니다. 파일이 구문 분석되지 않습니다. 삭제 및 삭제로 문제가 해결되지는 않습니다. –

+0

inputFile.txt가 실행 파일이 아닌 xterm으로 전송 된 것 같습니다. xterm -e bash -c "executable options

답변

0

명령 주위에 따옴표를 넣어 경우, 그것은 하나의 명령으로 쉘로 전송되며, 특수 문자 <& 쉘 오히려 쉘보다 xterm을 내에서 실행으로 해석됩니다 어디 시작 xterm :

xterm -e "executable options < inputFile.txt &disown" 
0

xterm 대신 x-terminal-emulator을 시도하십시오. 아마 그것은 작동합니다.