我正在开发一个小型的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'在一个不存在环境变量的环境中运行你的编译器。 –