2011-03-14 24 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