2
我需要以编程方式执行交互式shell(在Node.js中,但任何语言都可以)。 最重要的是,我要开始任何语言的REPL(节点,红宝石,二郎等),能够获得自动完成以编程方式启动交互式shell
pri\t
,我想在stderr输出(例如)
print() println() printf()
而且因为它在语言REPL compgen
不能使用。
我已经尝试了很多方法,但它似乎失败了,因为shell以编程方式打开时不能交互。 Launchin /bin/sh -i
只是yeilds一样的错误:
bash: cannot set terminal process group (XXXX): Inappropriate ioctl for device
我听说过,我不能没有终端开始交互的shell,但这样做SSH自动完成做这些工作的时候,这意味着它可以以某种方式加以效仿。
我会感谢您的帮助。如果没有找到解决方案,我无法继续工作。
我可以假设它已预装在每个Linux系统上? – 2015-03-02 16:14:51
@KrzysztofWende根据'forkpty'的手册页,它不是标准的,但它存在于libc5和glibc2中,所以假设它存在于任何最新的linux系统中是安全的。 – randomusername 2015-03-02 16:19:41
是的!最后它起作用。谢谢! 当问题将可用于赏金时,我会给你50个重点。 这是实际工作的第一个答案。 – 2015-03-02 17:04:52