コマンド(またはコマンドチェーン)の結果をコマンド内の実行可能ファイルに挿入できますか?このような:
./a.out < echo 0
または、次のことを行う必要がありますか?
echo 0 > input.txt
./a.out < input.txt
答え1
プログラムがa.out
コマンドの出力をecho 0
入力として読み取るようにするには、次のようにします。
echo 0 | ./a.out
または(具体的にbash
):
./a.out < <(echo 0)
this>
とthisは、出力と入力をリダイレクトする<
リダイレクト演算子です。>
<
これ:
echo 0 > input.txt
echo
出力を次の名前のファイルにリダイレクトするinput.txt
これ:
./a.out < input.txt
リダイレクト./a.out
入力ソースはコンテンツですinput.txt
。
複数のコマンドの場合は、次を使用します。複合コマンド:
{ echo 0; cat test.txt; } | ./a.out
答え2
Bashにはより簡単なコードがあります。
./a.out <<<"0"
でも:
<<<"0" ./a.out
「逆引き」書き込みが気に入らない場合。