[英]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.