作者:日韩潮衣一手临终批发 | 来源:互联网 | 2023-07-26 09:18
我需要以编程方式执行交互式shell(在Node.js中,但任何语言都可以).最重要的是我想要启动任何语言的REPL(node,ruby,erlang等)并能够自动完成
我需要以编程方式执行交互式shell(在Node.js中,但任何语言都可以).
最重要的是我想要启动任何语言的REPL(node,ruby,erlang等)并能够自动完成
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自动完成时确实有效,这意味着它可以通过某种方式进行模拟.
我很感激你的帮助.如果没有找到解决方案,我就无法继续工作.
解决方法:
您可以使用伪终端模拟终端.这是ssh如何做到的.虽然使用伪终端有很多,但SO答案框对于所有这些都不够大.因此,请查看pty(7)的手册页.