2014-07-03 36 views
2

我想在bashzsh中运行Python解释器作为劣势进程。在此期间,我想向该进程发送命令并查看STDOUT中的输出。类似这样的:监督一个Python子壳

$ in=/dev/shm/python_test_in 
$ out=/dev/shm/python_test_out 
$ touch $in $out 
$ python < $in > $out 
$ echo print(1+1) > $in 
$ cat $out 

不幸的是,这是行不通的。我正在运行GNU/Linux。

+0

如果可能,使用'expect'将是正确的选择。 – ymonad

回答

0

你需要的是一个管道:

mkfifo ./in ./out 
python <./in> ./out & 
echo "print(1+1)" > ./in 
cat ./out 

然而,以这种方式,Python解释器将立即执行此之后因为上面写的“回声”行的EOF退出。我正在寻找防止Python解释器退出EOF的方法。