एरलंग में पर्यावरण चर के रूप में एक कमांड लाइन ध्वज (तर्क) कैसे पहुंचता है। उदाहरण के लिए (झंडे, नहीं ARGV के रूप में):Erlang: अनुप्रयोग पर्यावरण चर के रूप में सीएलआई झंडे (तर्क) तक कैसे पहुंचे?
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
तक
RabbitMQ CLI तरह दिखता है परिवर्तनीय एक erlang tuple बन जाता है! मैंने इसे अपने स्वयं के erlang application
में दोहराने की कोशिश की है, लेकिन मुझे लगता है कि init:get_argument
के माध्यम से इन मानों तक पहुंचने में सक्षम है, जो एक स्ट्रिंग के रूप में मान देता है।
कोई कमांडलाइन के माध्यम से मूल्यों में कैसे गुजरता है और उन्हें एरलांग शर्तों के रूप में आसानी से एक्सेस करने में सक्षम होता है?
अद्यतन किसी के लिए भी भी की तलाश में, 'नियमित' रास्ते में वातावरण चरों का उपयोग करने के लिए उपयोग os:getenv("THE_VAR")
एलन, टिप के लिए धन्यवाद। मेरे पास मेरी '.app' फ़ाइल में param है। अच्छी खबर: मुझे '.app' फ़ाइल में निर्दिष्ट डिफ़ॉल्ट मान मिलता है। बुरी खबर: मैं कमांड लाइन पर इसे ओवरराइड नहीं कर सकता। –
नाट, क्या आप हमें अपनी ऐप फ़ाइल दिखा सकते हैं और जिस आदेश से आप erlang शुरू करते हैं? – Zed
हां - यह काम करना चाहिए ताकि आपकी कमांड लाइन में शायद कुछ ख़राब हो। क्या आपने पर्यावरण तक पहुंचने के दौरान अपना ऐप शुरू किया है? –