Bashスクリプトと標準入力

Bashスクリプトと標準入力

標準入力から読み取る必要があるCプログラムがあります。これは要件の 1 つであり、変更できません。

私は私が望むすべてのディレクトリを作成し、出力などを処理し、私のプログラムをコンパイルして実行する単純なbashスクリプトを書いた。

プログラムを実行すると、ユーザーがstdinから入力を提供するのを待ちます。

私はbashで入力を提供できるようにしたいです。したがって、(理由のため)ユーザーに入力を要求しないでください。したがって、理想的には、入力はユーザーに表示されますが、スクリプトから提供されることを願っています。

私が次のように書いた場合:

./task2
cat <<< "my input here"

ジョブを実行し、ジョブが完了したら cat コマンドを実行します。プログラムがユーザー入力を要求するたびに、何とかその猫を強制したいと思います。

可能ですか?

ベストアンサー1

tee私が正しく理解した場合は、この目的に使用できます。 Bashスクリプトで、次の行がコンパイルされたCプログラムを実行しているとします。

./my_program

次に変更してください:

printf "%s\n" "my input here" | tee /dev/tty | ./my_program

my input here最終デバイスとして印刷されます。そして./my_program読みやすいように標準入力にパイプします。

おすすめ記事