【发布时间】:2012-08-27 04:35:56
【问题描述】:
我已经用 c 语言实现了一个类似 bash 的 shell。我支持<>>>;|和&。我的下一个任务是添加对( 和) 的支持,基本上是一个子shell。我们如何实现子shell。我可以 fork 并让 parent 等待,传递环境变量,但我需要添加对 (ls | sort) ; ls 等命令的支持(我承认该命令没有多大意义,但它解释了动机)
感谢任何帮助。
【问题讨论】:
-
显示代码并显示您遇到问题的地方。
-
bash 是开源的,你为什么不看看它是怎么做的?
-
我没有问题,只是没有实现esubshell的想法。
-
@Barmar:我觉得我会迷失在代码中,但我猜这是最后一个选择
-
一旦你fork,子进程就会像在主shell中一样实现
ls | sort。