Связь с оболочкой Erlang запускается с помощью run_erl из сценариев оболочки - PullRequest
1 голос
/ 14 марта 2011

У меня есть приложение Erlang, которое запускается через run_erl. Он создает файлы erlang.pipe.1.w и erlang.pipe.1.r, и я могу запустить консоль через to_erl. Все идет нормально. Тогда мне нужно было поговорить с ним из сценария оболочки. Очевидная вещь, которую нужно сделать, была

#!/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 ]

2 голосов
/ 19 апреля 2011

Вы пытались использовать трубу (|) вместо добавления (>>).Например,

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

1 голос
/ 14 марта 2011

Я не очень знаком с методом, который вы используете в настоящее время, но ранее я привел пример трех способов соединения двух узлов из оболочки .Может быть, некоторая помощь на пути.Ура!

...