【发布时间】:2020-09-12 12:47:06
【问题描述】:
我是 Erlang 的新手,想将 bash 脚本与 Erlang 节点和函数合并。 我有一个 Mnesia 数据库,我们进入 Erlang 节点并运行几个函数,但我想通过一些 bash 脚本运行这些函数,以便我可以在其他地方使用这些 bash 脚本输出。 我的 Erlang shell:-
sudo /opt/butler_server/bin/butler_server remote_console
Erlang/OTP 20 [erts-9.3.3.6] [source] [64-bit] [smp:28:28] [ds:28:28:10] [async-threads:10]
Eshell V9.3.3.6 (abort with ^G)
(butler_server@localhost)1>
在这个shell中,当我们运行下面的函数时,它运行良好并给出输出,请注意order_node,pps_manager是数据库中的模块名称,get_by_id,send_order_related_notification,update_status_of_order_node是该模块中的函数。
f().
ChangeStatus =
fun() ->
{ok,C2}=order_node:search_by([{status,equal,inventory_awaited}],key),
io:format("Total Orders ~p", [length(C2)]),
lists:foreach(fun(Id) ->
io:format("Orders ~p~n", [Id]),
order_node:update_status_of_order_node(Id,cancelled),
pps_manager:send_order_related_notification(element(2,order_node:get_by_id(Id)))
end, C2)
end.
ChangeStatus().
请告诉我如何使用 bash 脚本在 erlang shell 中运行上面的代码 sn-p。
【问题讨论】:
标签: bash shell erlang erlang-shell escript