2015-10-15 66 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系統默認情況下在搜索路徑中沒有「。」/當前工作目錄)。它*很可能是正確的答案。儘管如此,通常在你可以確定的時候發佈一個答案會更好(並且獲得一點名譽,你可以在這個問題的評論中請求澄清) –