有没有办法将参数传递给除配置文件和应用程序之外的应用程序的根管理程序:get_env / 1?例如,通过命令行?
我将我的应用程序作为“erl -pa ebin -run appname”启动,然后通过TCP / IP与它通信。它侦听的TCP端口在env part中的ebin / appname.app中设置。现在,我希望能够告诉我的应用程序忘记这一点,并在一个我将在命令行上提供的端口上侦听(类似“erl -pa ebin -run appname -env [{port,1234}]”)。那是否有标准化模式?
问题是我有时会决定应用程序应该从另一个非默认端口开始,以便进行测试,并且每次更改.app文件只会让人痛苦。
此致 dijxtra
答案 0 :(得分:9)
是。您可以使用以下命令通过命令行覆盖环境变量的值:
erl -appname key value
使用以下方法检索参数:
application:get_env(appname, key).