有没有办法将参数传递给除了配置文件和应用程序之外的应用程序的根管理程序: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
是.您可以使用以下命令通过命令行覆盖环境变量的值:
erl -appname key value
Run Code Online (Sandbox Code Playgroud)
并使用以下方法检索参数:
application:get_env(appname, key).
Run Code Online (Sandbox Code Playgroud)