有没有办法在Linux中使用C设置环境变量?

我试过setenv()putenv(),但它们似乎不适合我.

推荐答案

我将在这里做一个粗略的猜测,但这些函数似乎不起作用的正常原因不是因为它们不起作用,而是因为用户并不真正了解环境变量是如何工作的.例如,如果我有这个程序:

int main(int argc, char **argv)
{
  putenv("SomeVariable=SomeValue");
  return 0;
}

然后我从shell中运行它,它不会修改shell的环境——子进程无法做到这一点.这就是为什么修改环境的shell命令是内置的,以及为什么您需要创建一个包含要添加到shell中的变量设置的脚本,而不是简单地运行它.

Linux相关问答推荐

C++ kill()使Linux崩溃到登录屏幕

BASH-SCRIPT-在特定行合并两个文件

C++17/Linux:信号未解锁单独线程中被阻止的网络套接字调用

如何从 AWK 中的 CSV 列中获取中值? (Linux)

如何计算文本的时差,如 YYYYMMDDHHMMSSXXX 格式,包括毫秒

为什么rsp寄存器从0x7FFFFFFFDFD0开始

在服务器目录之外启动 DolphinDB 服务器时出错

问题:Virtio rpmsg 总线 virtio0:收到的 msg 没有收件人 - 在 Yocto Hardknott - imx7d-pico

Docker 容器立即退出

从 .war 文件外部化 Tomcat webapp 配置

应用程序如何在运行时解析为不同版本的共享库?

使用 RPATH 但不使用 RUNPATH?

Ubuntu 上 Java 应用程序中的丑陋字体

无法创建Java虚拟机

如何通过 ssh 判断 ubuntu 服务器上是否存在 php 和 apache

zsh/bash 上不区分大小写的 Glob

在 mac 上通过 ssh 连接到 amazon aws linux 服务器

*nix 系统上是否有与 COM 等效的功能?如果不是,那么 *nix 的可重用性方法是什么?

如何编写 Mono 守护程序

如何使用cp从不同目录复制多个文件?