Redirect 我已经实现了一个迷你shell。现在我想将其扩展到包括重定向和管道

Redirect 我已经实现了一个迷你shell。现在我想将其扩展到包括重定向和管道,redirect,Redirect,代码到底应该集成在哪里?在shell中还是在命令本身中,还是在分叉之前 在外壳中实现。它只是操纵文件描述符,当您分叉子进程时,这些描述符会被继承,这些子进程就是命令。您可以更具体地说明您想要实现的目标吗。据我所知,您使用的she shell从用户那里获取命令,然后派生一个新进程来执行给定的命令。现在,您可以将输出重定向到文件描述符,而不是显示到屏幕(stdout)。这就是如何使用重定向部分。现在使用管道非常相似,只是需要重用onceprocess的输出文件描述符作为other的输入。我在分叉后实

代码到底应该集成在哪里?在shell中还是在命令本身中,还是在分叉之前

在外壳中实现。它只是操纵文件描述符,当您分叉子进程时,这些描述符会被继承,这些子进程就是命令。

您可以更具体地说明您想要实现的目标吗。据我所知,您使用的she shell从用户那里获取命令,然后派生一个新进程来执行给定的命令。现在,您可以将输出重定向到文件描述符,而不是显示到屏幕(stdout)。这就是如何使用重定向部分。现在使用管道非常相似,只是需要重用onceprocess的输出文件描述符作为other的输入。我在分叉后实现了它,从而获得了重定向。。现在正在研究管道。。只是一个小小的疑问?我们必须只为ls、ps、pwd和系统命令实现重定向???因为cd、mv、tail、mkdir和rm仍然使用命令行参数?