2015-10-15 74 views
0

我现在正在用我的文件遇到这个奇怪的消息。 我有一个非常基本的C文件,可以根据请求从文件读取并输出。 我在Linux上运行以下命令:C输入和输出重定向错误?

filename <filenametest.txt >filenameoutput 

以及它所带来的以下信息:

filename: command not found 

任何想法,为什么它不工作? 真令人沮丧。

+0

是的,'filename'是'filename.c'的编译文件。我运行“gcc -o filename filename.c”。 – dj31

+0

如果这能够奏效,那将会是一场安全灾难!想象一下,如果我知道经常输入'lss'而不是'ls'的人。我可以简单地创建一个名为'lss'的可执行文件,删除他的所有文件并诱使他更改为可执行文件所在的目录。他的一个错字和* boom *。 –

+0

你是什么意思? – dj31

回答

2

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

./filename <filename.txt> filenameoutput

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

+0

“由于文件名不是内置的。”不,它不在你的搜索路径中。注意,你只是猜测在这里,这个问题目前的状态不能真正回答... –

+0

在这种情况下,@ dj31必须首先编译他的C代码。对不起,我只是在这里做了一个假设。这里有新的,我需要删除我的答案,因为这个问题真的不够具体吗? – aayush

+0

@ThePentium我现在不会删除它,只需更正最后一句(通常,unix系统默认情况下在搜索路径中没有“。”/当前工作目录)。它*很可能是正确的答案。尽管如此,通常在你可以确定的时候发布一个答案会更好(并且获得一点名誉,你可以在这个问题的评论中请求澄清) –