7
如何在Erlang中訪問命令行標誌(參數)作爲環境變量。 (作爲標誌,而非argv)例如:Erlang:如何訪問CLI標誌(參數)作爲應用程序環境變量?
RabbitMQ的CLI看起來像:
erl \
...
-sasl errlog_type error \
-sasl sasl_error_logger '{file,"'${RABBITMQ_SASL_LOGS}'"}' \
... # more stuff here
如果看一下sasl.erl
你看行:
get_sasl_error_logger() ->
case application:get_env(sasl, sasl_error_logger) of
% ... etc
通過某種未知的魔法sasl_error_logger
變量成爲一個erlang元組!我試過在我自己的erlang application
中複製這個,但我似乎只能通過init:get_argument
訪問這些值,它以字符串形式返回值。
如何通過命令行傳遞值並能夠像erlang條件一樣輕鬆訪問它們?
UPDATE也爲尋找,使用環境變量在「常規」方式使用os:getenv("THE_VAR")
艾倫,感謝您的提示。我的`.app`文件中有參數。好消息:我得到`.app`文件中指定的默認值。壞消息:我似乎無法在命令行上覆蓋它。 – 2009-07-31 16:06:32