プログラムから複数のコマンドを入力に送信するには?

プログラムから複数のコマンドを入力に送信するには?

私は次のプログラムでコマンドを入力に送信する方法を知っています。

echo toto | ./my_prog

そして、プロセス置換+リダイレクトを使用してください。

r < <(echo toto)

しかし、2番目または3番目の入力を入力するにはどうすればよいですか?

たとえば、最初に自分のユーザー名を要求してから、別の入力から電​​話番号やその他の情報などの他の情報を要求するプログラムがあります。

答え1

私は提案するここのドキュメント

./my_proc << END_OF_INPUTS
username
phone number
whatever
END_OF_INPUTS

答え2

複数のプログラムの出力を使用して収集します{}たとえば、{ echo one; echo two; } |program{前後にスペースを残し、中括弧}内に最後のコマンドの後にセミコロンがあることを確認してください。

答え3

printfとパイプを使用することもできます

printf "%s\n" "username" "number phone" "whatever" | ./my_prog

関連情報