gpt4 book ai didi

node.js - 如何从 Nodejs 运行 Linux/Ubuntu 命令(不是可执行文件)

转载 作者:行者123 更新时间:2023-12-04 19:17:50 26 4
gpt4 key购买 nike

一直以来,我一直在 nodejs 中使用 spawn 运行可执行文件,现在当我尝试使用 spawn 运行 ubuntu 命令(如 unset、export 等)时,它们似乎不起作用。我猜是因为它正在寻找可执行文件。
我什至尝试过 exec,这似乎也不起作用。有小费吗?

我有一个 ubuntu 设备运行 Node ,我需要从 UI 设置/取消设置代理的 env 变量,例如http_proxy 和 no_proxy。除了导出还有什么其他方式我可以通过 Node 来做到这一点?环境变量应该在系统范围内设置,而不仅仅是当前进程。

最佳答案

环境变量只存在于内存中并且对于进程来说是本地的。对于任何正在运行的进程,只有进程本身可以更改“属于”该进程的环境变量集,但这些更改不会传播到现有的子进程或父进程。

简而言之:您无法更改将应用​​于系统上所有进程的环境变量(甚至不能从常规 shell 更改)。

您只能设置一个环境变量,使其可用于新创建的子进程(默认情况下,子进程从其父进程继承一组环境变量),但仅此而已。

如果您可以控制需要这些特定环境变量的进程的启动方式,则可以将这些变量的值写入文件(来自 Node)并在其他进程启动之前获取该文件,但这实际上取决于实际用例这是否是一个可用的选项。

关于node.js - 如何从 Nodejs 运行 Linux/Ubuntu 命令(不是可执行文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31211263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com