Автоматизация узлов оболочки Erlang с помощью пакета Unix - PullRequest
0 голосов
/ 10 октября 2011

Я могу запустить много узлов erlang из командного файла.Но могу ли я передать некоторые аргументы erl, которые заставляют его выполнять некоторые команды?

Ответы [ 2 ]

3 голосов
/ 10 октября 2011

Если вы хотите запустить узел и, например, запустить приложение erlang или запустить несколько строк для запуска узла, вы можете выполнить команду erl следующим образом

erl -eval "application:start(my_app)"

или запуск узла несколькими командами

erl -eval "Res = my_first_module:my_start_fun(MyArg),
           my_log:log(Res),
           another_module:another_fun(Res)"

то же самое, что и выше, но помещение узла в фоновый процесс

erl -sname nodename 
    -setcookie nodecookie 
    -eval "Res = my_first_module:my_start_fun(MyArg),
           my_log:log(Res), 
           another_module:another_fun(Res)" 
    -detached

Но если вы хотите запустить erlang более "по сценарию", я советую вам посмотреть escript и следующий вопрос вроде D.Nibon предложил

0 голосов
/ 10 октября 2011

Да. Вы можете. Если вы спросите более конкретно, я дам вам более конкретный ответ, если смогу. Этот вопрос кажется более «эрлангским», чем вопрос «bash».

...