2

fooユーザーにさまざまなことを要求するコマンドを実行しているとします。最初のいくつかのプロンプトに値を入力したいのですが、残りは手動で入力します (つまり、 on stdin)。

これどうやってするの?私はもう試した

echo -e "foo\nbar\nbaz" | foo

これはすべての入力を受け入れますがEOF、入力ストリームから を取得します。私も試してみました

foo <(echo -e "foo\nbar\nbaz" & cat /dev/stdin)

どちらも機能しませんでした。

4

2 に答える 2

0

ユーザーに必要なものを尋ねてから、それをコマンドに中継します

echo "Question 1: "; read ans1;
echo "Question 2: "; read ans2;
./foo bar bar "$ans1" baz "$ans2"

多分そのような?シンプルで効率的です:)

于 2013-06-04T22:27:28.947 に答える