我需要以编程的方式执行交互式shell (使用Node.js,但任何语言都可以)。最重要的是,我希望启动任何语言的REPL (节点、ruby、erlang等)。并且能够自动完成
pri\t我希望在stderr中获得输出(例如)
print() println() printf()而且因为它是用语言编写的,所以不能使用REPL compgen。
我尝试过许多方法,但似乎失败了,因为shell在以编程方式打开时不能进行交互。Launchin /bin/sh -i只是出现了一些错误,如:
bash: cannot set terminal process group (XXXX): Inappropriate ioctl for device我听说没有终端我无法启动交互式shell,但是当执行SSH时,自动完成会工作,这意味着它可以在某种程度上被模仿。
我很感谢你的帮助。如果不找到解决办法,我就无法继续工作。
发布于 2015-03-02 16:08:59
您可以使用伪终端来模拟终端。这就是ssh的工作方式。然而,使用伪终端的方法很多,所以回答框不够大,不能满足所有的需求。因此,请查看手册页中的pty(7)。
https://stackoverflow.com/questions/28814187
复制相似问题