[英]Linux | Shell implementation in C | Input redirection does not display
我正在C中实现Shell,并且在实现重定向操作时,我看到输出重定向工作正常,但是输入重定向操作却什么也没做。 (在标准输出中没有显示)
COMMAND-> wc < out.txt
Child 12878 died 0x008B
COMMAND->
[我的提示符是COMMAND->
当我打印孩子死亡时的状态时,它的值为0x8B。 这表示什么吗?
我关注了这篇文章,重定向实现的核心部分与此处建议的类似。 在C中实现Shell并需要帮助来处理输入/输出重定向
这是输入重定向发生的要点:
in = open(file_name, O_RDONLY);
dup2(in,0);
close(in);
execvp("wc",args);
(由于这是一项现场作业,因此我无法发布我的全部代码,我可能最终会陷入MOSS)
在execvp
中传递的指针为NULL
,因此为SIGSEGV
。
输入的命令的后端处理(基于管道和重定向将它们隔离)有错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.