私は次のプログラムでコマンドを入力に送信する方法を知っています。
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