我试图找到我当前的PATH在我的execv()命令中使用它,但是我一直在想弄清楚如何找到路径的任何提示?
答案 0 :(得分:1)
要从您的环境中获取当前PATH
variable(请参阅environ(7)),请使用getenv(3)。
所以代码:
char*curpath = getenv("PATH");
if (!curpath) { fprintf(stderr, "no PATH\n"); exit(EXIT_FAILURE); };
缺乏PATH
极不可能
然后使用strchr(3)来迭代curpath
当然,如果允许使用它,你应该更喜欢execvp(3)。
要获取当前working directory(但您不需要此处),请使用getcwd(3)。