使用C中的operator <从文件redirect

我写了一个程序来模拟Linux中的bash命令,用C语言编写。它完全适用于键盘input,意思是:

  • application > file :将应用程序的stdoutredirect到文件(将输出写入文件)
  • application < file :从文件redirect应用程序的标准input(从文件读取input)
  • application >> file :将app的stdoutredirect到文件(将输出附加到文件)
  • app1 | app2 app1 | app2 :将app1的stdoutredirect到app2的stdin
  • app & :意味着该应用程序应该在后台执行

所有这些工作,当我从键盘input命令,如上所述。

为了完成我的任务,我需要添加一个元素,这是从文件redirect。 意思是,如果我的程序叫bashSimulator ,那么如果我这样做:

 bashSimulator < fileWithCommands 

那么我的程序需要从fileWithCommands获得所有的命令并执行它们。

我不知道如何从文件redirect。

您可以从stdin而不是从批处理文件读取命令或从用户交互式读取命令。 用isatty(3)来判断是否是这种情况。