我在C中编写了一个模拟bash
命令的程序。
它与键盘的输入完美配合,意思是:
application > file
:将应用程序的stdout重定向到文件(将输出写入文件)application < file
:从文件重定向app的stdin(从文件读取输入)application >> file
:将应用程序的stdout重定向到文件(将输出附加到文件)app1 | app2
:将app1的stdout重定向到app2的stdin app &
:表示应该在后台执行应用当我从键盘输入命令时,所有这些都有效,如上所述。
为了完成我的作业,我需要再添加一个元素,即
从文件重定向。这意味着,如果我的程序被称为bashSimulator
,那么
如果我这样做:
bashSimulator < fileWithCommands
然后我的程序需要从fileWithCommands
获取所有命令并执行它们。
我不知道如何从文件重定向。
答案 0 :(得分:5)
您从stdin而不是批处理文件中读取命令,或者从用户以交互方式读取命令。使用isatty(3)
确定是否属于这种情况。