作者:手机用户2502861877 | 来源:互联网 | 2023-05-19 18:27
我需要以编程方式执行交互式shell(在Node.js中,但任何语言都可以).最重要的是我想要启动任何语言的REPL(node,ruby,erlang等)并能够自动完成
pri\t
我希望在stderr中输出(例如)
print() println() printf()
因为它在语言compgen
中不能使用REPL .
我已经尝试了很多方法,但它似乎失败了,因为shell在以编程方式打开时无法进行交互.启动/bin/sh -i
只是yeilds错误,如:
bash: cannot set terminal process group (XXXX): Inappropriate ioctl for device
我听说没有终端就无法启动交互式shell,但是在做SSH自动完成时确实有效,这意味着它可以通过某种方式进行模拟.
我很感激你的帮助.如果没有找到解决方案,我就无法继续工作.
1> randomuserna..:
您可以使用伪终端模拟终端.这是ssh如何做到的.虽然使用伪终端有很多,但SO答案框对于所有这些都不够大.因此,请查看pty(7)的手册页.