0

我正在尝试在 linux 环境中实现一个 shell 程序。我遇到问题的部分是在运行 shell 之前读取 shell 内的 setup_file,以执行诸如设置环境变量之类的操作。

目前,shell 有一个 parser_results = parse() 函数,它执行“getchar”并等待用户在标准输入中键入内容,然后执行 execute(parser_result),它使用解析器的输出执行命令。

我想要做的是读取其中包含命令的 setup_file,让解析器读取它们并给我我需要的数据结构。然后我可以运行执行。

我的问题是如何将文件的内容重定向到标准输入?以及如何调用解析器来解析这个重定向的输入?我一直在玩 dup 和 dup2 无济于事。

4

1 回答 1

2

简短的回答(对于“我如何将文件的内容重定向到标准输入”这个问题)是“你不要”。

您修改输入函数以从给定的文件流中读取而不是stdin从 . '准备好接受用户输入,你用stdin而不是文件调用解析代码。这样就省去了摆弄stdin.

于 2013-10-17T05:40:05.553 回答