【问题标题】:Environment Variables in my own C Linux Shell?我自己的 C Linux Shell 中的环境变量?
【发布时间】:2012-03-25 00:05:04
【问题描述】:

我正在编写自己的 C Linux shell。

但我必须获取和设置环境变量。

我在更改目录部分中使用 getenv("HOME") 取得了一些成功。

您如何在我自己的 shell 中获取和设置环境变量?

【问题讨论】:

  • 这里要问什么还不是很清楚。关于如何“设置”变量的问题?据我所知,环境是在进程开始时确定的,之后保持不变。但是,您可以跟踪新设置的变量并将它们传递给子流程。
  • 我同意尼克拉斯的观点。请更详细地描述您的问题。
  • 对不起,在我正在编写的shell程序中,我需要用户能够在这个新的shell中查看、设置和使用环境变量。如显示 $PATH 和设置 $PATH 等。

标签: c linux shell environment-variables


【解决方案1】:

你可以使用:

int setenv(const char *name, const char *value, int overwrite);

更改属于您当前进程的环境。您创建的所有子进程都将继承更改后的环境。

【讨论】:

    猜你喜欢
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多