C++ setenv 解析其他变量
C++ setenv resolve other variables
我正在使用 C++ 和 setenv 设置变量,如下面的程序所示:
setenv("TEST", "$HOME/test", 1);
char* val = getenv("TEST");
printf("TEST=%s", val);
我得到的输出是"TEST=$HOME/test"。但是我希望输出像 "TEST=/home/toboxos/test"。使用 linux 手册我什么也没找到。有没有解析环境变量的函数,还是要我自己做?
您期望的这种替代是您 shell 的一个特征,它不是环境固有的。
您需要自己 getenv("HOME")
,将其与 "/test"
连接,并将结果用作 setenv
的输入。
我正在使用 C++ 和 setenv 设置变量,如下面的程序所示:
setenv("TEST", "$HOME/test", 1);
char* val = getenv("TEST");
printf("TEST=%s", val);
我得到的输出是"TEST=$HOME/test"。但是我希望输出像 "TEST=/home/toboxos/test"。使用 linux 手册我什么也没找到。有没有解析环境变量的函数,还是要我自己做?
您期望的这种替代是您 shell 的一个特征,它不是环境固有的。
您需要自己 getenv("HOME")
,将其与 "/test"
连接,并将结果用作 setenv
的输入。