如何在程序中发送多个命令作为输入?

sal*_*alt 6 command-line shell input

我知道如何在这样的程序中将命令作为输入发送:

echo toto | ./my_prog
Run Code Online (Sandbox Code Playgroud)

并使用进程替换 + 重定向:

r < <(echo toto)
Run Code Online (Sandbox Code Playgroud)

但是如果我想输入第二个或第三个输入怎么办?

例如,我有一个程序,它首先询问我的用户名,然后询问我其他信息,例如电话号码或其他不同输入的信息。

gle*_*man 12

我会建议这里的文件

./my_proc << END_OF_INPUTS
username
phone number
whatever
END_OF_INPUTS
Run Code Online (Sandbox Code Playgroud)


小智 9

使用{}来收集多个程序的输出。例如,{ echo one; echo two; } |program。在{前后留一个空格,}并确保在大括号内的最后一个命令之后有一个分号。