3

Linux、Cでコマンドをシミュレートするプログラムを作成しました。これは、キーボードbashからの入力で完全に機能します。つまり、次のようになります。

  • application > file:アプリのstdoutをファイルにリダイレクトします(出力をファイルに書き込みます)
  • application < file:ファイルからアプリのstdinをリダイレクトします(ファイルから入力を読み取ります)
  • application >> file:アプリのstdoutをファイルにリダイレクトします(出力をファイルに追加します)
  • app1 | app2:app1のstdoutをapp2のstdinにリダイレクトします
  • app &:アプリをバックグラウンドで実行する必要があることを意味します

上記のように、キーボードからコマンドを入力すると、これらすべてが機能します。

割り当てを完了するには、ファイルからのリダイレクトである要素をもう1つ追加する必要があります。つまり、私のプログラムが呼び出されbashSimulatorた場合、これを行うと:

bashSimulator < fileWithCommands

次に、私のプログラムはからすべてのコマンドを取得してfileWithCommands 実行する必要があります。

ファイルからリダイレクトする方法がわかりません。

4

1 に答える 1

5

コマンドは、バッチファイルからではなく、stdinから、またはユーザーからインタラクティブに読み取ります。isatty(3)これが当てはまるかどうかを判断するために使用します。

于 2012-05-25T23:10:32.667 に答える