我正在開發一個小型的JS項目並試圖獲得一個腳本來運行,它編譯了一些以我們自己的「語言x」編寫的源文件。在兩個不同的目錄之間運行「<」命令
要運行編譯器通常你會使用命令./a.out < source.x
它會打印出成功或編譯錯誤等
在現在的情況下,我想兩個目錄之間的工作,並使用這個命令:
sudo ~/Documents/server/xCompiler/./a.out < ~/Documents/server/xPrograms/source.x
但這不產生輸出到終端的所有,並且不影響輸出文件。使用<
有什麼問題嗎?我打算稍後在節點服務器中使用它,請參閱child_process.exec
。
任何幫助將不勝感激,我有點難住。 謝謝。
你不會告訴'a.out'在做什麼,也不會說你正在使用哪個shell。回答這個問題是不可能的。這就像你問我「根據祖母的祕方,我今天做了一頓飯,但是它的烹飪方式和我吃的不一樣,我做錯了什麼?」 – user1934428
'sudo'?你爲什麼要以root身份運行你的編譯器?這意味着它不會與您在自己帳戶下運行的命令一樣被調用相同的環境變量。 –
順便說一句,有兩個可能的問題原因,它們都不需要將完全合格的路徑傳遞給''''重定向操作符。 (1)是編譯器希望找到相對於當前工作目錄的支持文件,但cwd不再是編譯器本身所在的目錄。 (2)是'sudo'在一個不存在環境變量的環境中運行你的編譯器。 –