簡體   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