2016-06-14 15 views
1

にファイルを送信したい:は新しいターミナルでCPPの実行可能ファイルを実行し、その後、私は私が使用してやっている新しいLinuxターミナル、でC++実行可能ファイルを実行したい入力ストリーム

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

エラーは何ですか?問題はアンパサンドだと思う。これはLinuxでプロセスをバックグラウンド化するための特殊文字です。 –

+0

@JamesSheweyこんにちは、エラーはありません、ファイルは解析されません。削除しても解除しても問題は解決しません。 –

+0

おそらくあなたのinputFile.txtが実行可能ファイルではなくxtermに送信されているようです。 xterm -e bash -c "実行可能オプション

答えて

0

、それは一つのコマンドとしてシェルに送信され、特殊文字<&ではなく、あなたのシェルよりも内のxtermを実行しているシェルに解釈されます開始 xterm:

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

xtermの代わりにx-terminal-emulatorを試してください。おそらくそれは動作します。あなたは、コマンドの前後に引用符を置く場合

関連する問題