首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过钢筋壳传递args到erl?

通过钢筋壳传递args到erl?
EN

Stack Overflow用户
提问于 2015-10-27 19:53:04
回答 1查看 294关注 0票数 1

我正在使用“钢筋外壳”来测试我的应用程序。这被记录为:

使用预加载的项目和dep启动shell,类似于 ‘'erl -pa ebin -pa deps/*/ebin’。

如何在底层调用'erl‘中添加额外的args?例如,我希望添加特定于应用程序的环境变量,并运行一个模块/函数。我想引用这样的话:

代码语言:javascript
复制
 erl -pa ebin -pa deps/*/ebin -browser_spy browser_exe "/my/dir" -run bs_example test

(我希望code:priv_dir能像使用rebar shell时那样工作,而上面的“erl”命令没有这样做)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-27 20:15:59

你不能

rebar shell实际上并不执行erl ...命令,但只尝试复制其行为。

实际上,钢筋只是将自己变成了shell,并通过使用-pa添加路径来模拟code:add_pathz

有关实现细节,请参见这里

shell(_Config,_AppFile) -> true = code:add_pathz(rebar_utils:ebin_dir()),%扫描所有进程是否具有对旧用户的引用,并将它们保存到以后的% update %update中: NeedsUpdate ()、proplists:get_value(group_leader、erlang:process_info( Pid )) == whereis( user )、%%终止当前用户ok = supervisor:terminate_child(kernel_sup,user),%%启动一个新的shell (这也会在正确的组下启动一个新用户)_= user_drv:start(),%等待直到注册了user_drv和用户(最多3秒) ok = wait_until_user_started(3000),%%设置任何引用旧用户组领导的进程到%%新用户进程_=erlang:group_leader(whereis(用户),Pid) \x{e76f}\x{e76f}>- NeedsUpdate,%%启用error_logger的tty输出ok = error_logger:swap_handler(tty),%%禁用简单的error_logger(可能已经添加了多次%% )。最多移除init添加的error_logger和tty处理程序添加的% error_logger %= remove_error_handler(3),%此调用永远不会返回(直到用户退出shell)计时器:睡眠(无限)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33377262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档