使用运算符<重定向文件在C.

时间:2012-05-25 13:33:51

标签: c linux bash io-redirection

我在C中编写了一个模拟bash命令的程序。 它与键盘的输入完美配合,意思是:

  • application > file:将应用程序的stdout重定向到文件(将输出写入文件)
  • application < file:从文件重定向app的stdin(从文件读取输入)
  • application >> file:将应用程序的stdout重定向到文件(将输出附加到文件)
  • app1 | app2:将app1的stdout重定向到app2的stdin
  • app &:表示应该在后台执行应用

当我从键盘输入命令时,所有这些都有效,如上所述。

为了完成我的作业,我需要再添加一个元素,即 从文件重定向。这意味着,如果我的程序被称为bashSimulator,那么 如果我这样做:

bashSimulator < fileWithCommands

然后我的程序需要从fileWithCommands获取所有命令并执行它们。

我不知道如何从文件重定向。

1 个答案:

答案 0 :(得分:5)

您从stdin而不是批处理文件中读取命令,或者从用户以交互方式读取命令。使用isatty(3)确定是否属于这种情况。