可以在执行escript脚本时设置环境变量,以便环境变量可以被在相同环境中执行的其他应用程序读取(实际上是否存在与bash命令在escript或Erlang中可用的export
)?如何在escript或Erlang中设置环境变量
2
A
回答
2
进程不能影响父进程或其父进程的其他子进程的环境。
如果您想修改脚本启动的进程的环境(通过fork或类似的方式,虽然OP通知我这不支持),但可能有类似setenv
可用。
+0
澄清,我是正确的,改变用户的配置文件(例如.bash_profile),并添加环境变量并加载它(与源命令),而父母最大的OTP进程仍然有效将不会看到一个新的孩子OTP过程的过程? – gextra 2013-06-04 22:54:59
相关问题
- 1. 如何设置vsvars32环境变量?
- 2. 如何设置黄瓜环境变量
- 3. 如何为python设置环境变量
- 4. 如何设置CGBITMAP_CONTEXT_LOG_ERRORS环境变量?
- 5. 如何设置TERM环境变量
- 6. 如何永久设置环境变量?
- 7. 如何为Jython设置环境变量?
- 8. 如何永久设置环境变量?
- 9. 我如何设置grails环境变量?
- 10. 设置环境变量
- 11. 设置Maven环境变量
- 12. 设置环境变量
- 13. 设置环境变量
- 14. Elasticsearch设置环境变量
- 15. C#设置环境变量
- 16. htaccess设置环境变量
- 17. 设置apache环境变量
- 18. DrJava设置环境变量
- 19. 在Python中设置环境变量
- 20. 在javascript中设置环境变量
- 21. 在JavaScript中设置环境变量
- 22. 在Maven中设置环境变量
- 23. 在Docker中设置环境变量
- 24. 在git中设置环境变量
- 25. 在ubuntu10.4中设置环境变量
- 26. 在Windows 7中设置环境变量
- 27. 在C中设置环境变量
- 28. 在Rails中设置环境变量
- 29. 在WCF中设置环境变量
- 30. 烧瓶/ gunicorn:从环境变量设置环境变量
进程不能影响其父进程或父进程的其他子进程的环境。如果你想修改由脚本启动的进程的环境(通过'fork'或类似的东西),可能有类似'setenv'的东西。 – chepner 2013-02-27 15:34:40
有道理。请把它作为答案,我会接受它,如果没有别的出现。 Erlang或escript代码无法产生新的系统进程(通过'fork'或类似的),因为它本身在VM(Erlang虚拟机)中执行。我在想,OTP(Erlang库)可能会有一个特殊的系统调用来做到这一点,但找不到任何东西。 – Amiramix 2013-02-27 15:43:59
您可以使用[open_port/2](http://www.erlang.org/doc/man/erlang.html#open_port-2)来产生进程。这些进程将会看到你使用[os:putenv/2](http://www.erlang.org/doc/man/os.html#putenv-2)对环境所做的任何更改,以及'env'选项到'open_port'。 – legoscia 2013-02-27 16:16:45