<分区>
我正在一点一点地开发我自己的 shell,并最终实现了 I/O 重定向功能。我已经完成了 >
的实现, <
和 >>
.我坚持执行 <<<
.
我对 <<<
的尝试实现在概念上非常简单。创建一个名为herestring的文件,将字符串写入文件,设置文件描述符为STDIN_IN,执行命令,稍后删除文件。
该文件的用途基本上是存储字符串。 正在成功创建和删除文件。即使在文件中写入字符串也能正常工作。但是,当我在自己的 shell 中执行以下命令时:
cat <<< Hello,world!
实际结果:
cat: -: Bad file descriptor
预期:
Hello,world!
这真的很奇怪,因为我基本上重新使用了输入重定向 ( command < file
) 的实现,而我添加的唯一部分是有效的部分。所以我真的不知道我的代码中缺少什么。
如果需要更多代码,请告诉我。