我知道如何发送命令作为程序中的输入,如下所示:
echo toto | ./my_prog
并使用进程替换+重定向:
r < <(echo toto)
但是如果我想输入第二个或第三个输入怎么办?
例如,我有一个程序,它首先询问我的用户名,然后询问我其他信息,例如电话号码或不同输入中的其他信息。
答案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