首页 > 解决方案 > 如何在 $PATH 中添加和删除名称?

问题描述

编辑

可惜getenv还是setenv不要修改路径。当我使用以下代码时

int main() {
    char *oldenv = strdup(getenv("PATH")); // Make a copy of your PATH
    setenv("PATH", "$PATH:~/opt/bin", 1); // Overwrite it

    system("echo $PATH"); // Outputs "$PATH:~/opt/bin"

    setenv("PATH", oldenv, 1); // Restore old PATH
    free(oldenv); // Don't forget to free!

    system("echo $PATH"); // Outputs your actual PATH
}

代码打印出硬编码$PATH:~/opt/bin而不是通常的$PATH命令。

编辑结束

我发现这个链接提供了如何在 c 编程语言中添加文件名,$PATH而不是在 c 编程语言中。当我运行代码时,它只是打印出原始路径而不是修改后的路径。有趣的是,当我放 时system("echo $PATH:~/opt/bin"),它成功显示了修改后的路径。另外,我不确定如何~/opt/bin从修改后的路径中删除相同的文件名 ( )。

我的代码在这里:

int main (void) {

  system("echo $PATH");
  system("export PATH=$PATH:~/opt/bin");
  system("echo $PATH"); //prints out the original $PATH

}

标签: cbashpath

解决方案


推荐阅读