繁体   English   中英

如何在 C 中实现“导出”命令?

[英]How can I implement "export" command in C?

我正在编写一个用一些命令实现“shell”的项目,而我正在努力使用“export”命令。 当我使用导出命令时,它会打印一些变量。 但我不知道如何使用 C 获取该信息。

遍历环境的可移植 POSIX 方法是通过全局变量environ ,它的工作方式与argv类似,但用于环境变量。 它存储foo=bar形式的字符串,其中foo是一个环境变量,而bar是它的赋值。

一般来说,您不应该修改字符串或字符串所指向的内容,因此我已经对下面的声明进行了const化,但通常它的类型为char**

#define _POSIX_C_SOURCE 200809L
#include <stdio.h>
#include <stdlib.h>

extern const char *const *const environ;
int main(void) {
        for(size_t i = 0; environ[i]; i++) {
                if(puts(environ[i]) == EOF) {
                        perror("Failed to print environment variable");
                        exit(EXIT_FAILURE);
                }
        }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM