【问题标题】:C input and output redirection error?C输入输出重定向错误?
【发布时间】:2015-10-15 22:55:30
【问题描述】:

我现在在我的文件中遇到这个奇怪的消息。 我有一个非常基本的 C 文件,它从文件中读取并根据要求输出。 我在 Linux 中运行以下命令:

filename <filenametest.txt >filenameoutput

它带来了以下信息:

filename: command not found

知道为什么它不起作用吗? 真令人沮丧。

【问题讨论】:

  • 是的,'filename'是'filename.c'的编译文件。我运行“gcc -o 文件名文件名.c”。
  • 如果这行得通,那将是一场安全灾难!想象一下,如果我认识一个经常输入lss 而不是ls 的人。我可以简单地创建一个名为lss 的可执行文件,它会删除他的所有文件并引导他更改该可执行文件所在的目录。他的一个错字和boom
  • 哪一部分没看懂?
  • @DavidSchwartz Windows 的标准行为是一场灾难的部分:D

标签: c redirect input output


【解决方案1】:

假设filename是编译你的C代码时生成的可执行文件的名称,也许你应该尝试使用

./filename &lt; filename.txt &gt; filenameoutput

由于filename默认不在搜索路径中。

【讨论】:

  • "因为文件名不是内置的。"不,它只是不在您的搜索路径中。请注意,您只是在这里猜测,当前状态下的这个问题无法真正得到回答......
  • 在这种情况下,@dj31 必须首先编译他的 C 代码。对不起,我只是在这里做了一个假设。这里有点新,我是否需要删除我的答案,因为问题真的不够具体?
  • @ThePentium 我现在不会删除它,只是更正最后一句(一般情况下,unix系统默认没有“.” /当前工作目录在搜索路径中)。它可能是正确的答案。不过,通常最好在可以确定的情况下发布答案(并且,为了获得一点声誉,您可以在对问题的评论中要求澄清)
  • filename 在我的例子中是 filename.c 的可执行文件。
  • 另一个不回答此类问题的理由......你可以解释每一个愚蠢的.:D
猜你喜欢
  • 1970-01-01
  • 2011-10-11
  • 2016-03-10
  • 1970-01-01
  • 1970-01-01
  • 2014-04-30
  • 1970-01-01
  • 2022-07-23
  • 2018-03-20
相关资源
最近更新 更多