可以从tclsh内部运行一些交互式shell吗?显然,从bash内部运行交互式shell (如bash或tclsh )很容易,但我没有找到相反的方法。
如果在tclsh内部运行"exec tclsh“或"exec bash”,则在输入"exit“并单击enter之前不会收到提示,或者使用”ctrl“来杀死父tclsh。
如果可能的话,我宁愿不使用外部包。
发布于 2016-01-21 11:02:46
如果您不想将值(退出代码除外)传递回调用的Tcl代码,您可以很容易地通过重定向标准通道来实现这一点,这样Tcl就不会捕获它们:
exec tclsh <@stdin >@stdout 2>@stderr这将适用于几乎所有的子进程(我刚刚用vi测试过它),如果它决定尝试运行子进程,那么tclsh实际上在交互模式下为您做了什么。
如果您想做任何比这更复杂的事情,您可能需要考虑使用Expect,否则会有一长串棘手的问题。
https://stackoverflow.com/questions/34918215
复制相似问题