私は、ファイルからコマンドを読み込むように設計されていないプログラム(私は書いていない)を持っています。 STDINにコマンドを入力するのはかなり面倒なので、コマンドをファイルに書き込んで再利用することで自動化したいと思っています。問題は、プログラムがEOFに遭遇した場合、次のコマンドを読み込もうと無限にループして、メニューオプションの無限トレントを画面にドロップします。パイプのコマンドでファイルの内容をSTDINに切り替えますか? (Linux Shell)
私ができることをしたいのは、パイプを介してプログラムにコマンドを含むファイルをcatした後、シェルの魔法を使って、ファイルのEOFに当たったときにファイルからSTDINに切り替えることです。
注:私は既にSTDINに ' - 'をつけてcatを使うことを考えました。残念なことに(これは以前は分かりませんでしたが)、パイプコマンドは、第1プログラムの出力が終了するのを待ってから、第2プログラムを開始します。この種のパイピングアクションと並行してプログラムを実行する方法があれば、それはうまくいくでしょう!
どのような考えですか?助けてくれてありがとう!
EDIT:
私は私の目標は、コマンドファイルの末尾を打つからシステムを防ぐためだけではないことに注意してください。私は、ファイルがEOFに達すると、キーボードからコマンドを入力し続けたいと思っています。
あなたは*することができますか?*私はあなたがコマンドをグループ化することは考えていませんでした。それは私の何か新しいことです。これにより、私は第2のウィンドウを使用する必要がなくなりました - 大変ありがとう、Idelic! – zslayton
興味のある人は、次のコマンドを使ってファイルをビルドすることができます:(cat your_file_with_commands; tee -a your_file_with_commands)| shのyour_scriptは、各コマンドをファイルに追加するだけでなく、パイプを介してスクリプトに渡します。 – zslayton
+1これはintruded.netのナルニアwargameのレベル1で私を助けました – chmeee