如何在Linux / OS X上动态添加到$ PATH

时间:2013-12-24 10:46:35

标签: linux macos bash unix path

我知道为了将目录添加到我的OS X路径,我应该编辑我的~/.bashrc~/.profile文件以添加如下内容:

export PATH=<<somepath>>:$PATH

我对bash很新,并且想知道:是否可以编辑我的~/.bash_profile文件,以便我可以动态执行此操作,以便从命令行我可以永久添加做类似

之类的目录到我的路径
addpath <<somepath>>

代替?

2 个答案:

答案 0 :(得分:2)

首先在您的主目录中创建一个空文件,此文件将是一个收集路径所有新增内容的地方,所以

touch ~/.build_path

接下来,您需要确保在处理~/.bashrc文件时处理所有新路径添加,因此请将此行添加到~/.bashrc文件中:

source ~/.build_path

最后,将此函数添加到~/.bashrc文件中,此函数立即更改当前PATH设置,并向~/.build_path文件添加一个新条目,以便将来的shell将获取新的道路。

function addpath
{
    echo "export PATH=\"$1\":\${PATH}" >> ~/.build_path
    export PATH=$1:$PATH
}

那应该是这样做的。唯一明显的问题是,如果你有两个正在运行的shell,在一个shell中更改路径不会导致第二个路径更新,你需要重新启动第二个shell。

答案 1 :(得分:0)

需要在您的路径中添加条目非常罕见......因此,为此创建脚本似乎过多。但是,如果您不想手动编辑文件,可以使用以下脚本:

  #!/bin/bash

  sed -i "s/PATH=/PATH=$1:/" .bash_profile

创建文件后,将其设置为使用

执行
chmod u+x <script name>