2011-03-14 20 views
1

我有一个Erlang应用程序,它通过run_erl运行。它创建文件erlang.pipe.1.werlang.pipe.1.r,我可以通过to_erl启动控制台。到现在为止还挺好。然后我需要通过shell脚本与它交谈。最明显的事情是与从shell脚本运行run_erl的Erlang shell通信

#!/bin/sh 

EXPR=$1 
PIPE_DIR=/tmp/mware 
PIPE=$PIPE_DIR/erlang.pipe.1.w 

echo $EXPR >> $PIPE 

开始它的工作,但现在我得到一个错误:

-sh: can't create erlang.pipe.1.w: Interrupted system call 

ls表示该文件已经存在。出了什么问题,我该如何解决?

回答

2

您是否尝试过使用管道(|)而不是追加(>>)。例如。

echo 'io:format("hello ~p", ["world"])' | to_erl $PIPE_DIR